Об этом проекте

Defang GitHub Action — это CI/CD интеграция, которая упрощает развёртывание проектов на основе Compose в основных облачных провайдерах через платформу Defang. Она поддерживает развёртывание в ваших собственных аккаунтах AWS, Azure или GCP, а также в Defang Playground. Основные возможности: - **Простое развёртывание**: добавьте один шаг в ваш GitHub workflow для развёртывания проекта на основе Compose. Для действия требуются разрешения `contents: read` и `id-token: write`. - **Управление секретами**: безопасно передавайте GitHub Actions Secrets в облако как значения конфигурации Defang. Вы указываете, какие переменные окружения публиковать, через вход `config-env-vars`, что гарантирует передачу в облако только явно перечисленных секретов. - **Проекты в подкаталогах**: используйте вход `cwd`, чтобы указать на Compose-файл, расположенный в подкаталоге, а не в корне репозитория. - **Контроль версий CLI**: закрепите конкретную версию Defang CLI (например, `v3.5.2`), используйте `nightly` для последней нестабильной сборки или передайте Git ref (имя ветки или SHA коммита) для сборки CLI из исходного кода. - **Пользовательские команды**: переопределите команду по умолчанию `compose up` любой командой Defang CLI и аргументами через вход `command`. - **Захват вывода**: при необходимости захватите stdout команды как вывод шага (`outputs.stdout`) с помощью `capture-output: true`. По умолчанию эта функция отключена, так как большие развёртывания могут превысить лимиты памяти GitHub Actions. - **Сводка о развёртывании**: при выполнении `compose up` действие автоматически вызывает `defang services --json` и записывает таблицу развёрнутых сервисов (с публичными конечными точками в виде кликабельных ссылок) в сводку задания GitHub. Оно также предоставляет основной публичный HTTPS endpoint как вывод `endpoint`, который можно подключить к `environment.url` задания для кликабельной ссылки "View deployment" на странице запуска, вкладке Environments и боковой панели репозитория. Сводку можно включить или отключить с помощью входа `summary`. - **Дополнительные входы**: поддерживаются `compose-files` для указания пользовательских путей к Compose-файлам, `stack` для выбора стека развёртывания и `verbose` для подробного логирования. Действие предназначено для того, чтобы сделать workflow развёртывания краткими, предоставляя при этом детальный контроль над конфигурацией, версиями и обработкой вывода.