Sobre o projeto

A GitHub Action Defang é uma integração de CI/CD que simplifica a implantação de projetos baseados em Compose nos principais provedores de nuvem por meio da plataforma Defang. Ela suporta a implantação em suas próprias contas AWS, Azure ou GCP, bem como no Defang Playground. Os principais recursos incluem: - **Implantação simples**: Adicione uma única etapa ao seu fluxo de trabalho do GitHub para implantar um projeto baseado em Compose. A ação requer permissões `contents: read` e `id-token: write`. - **Gerenciamento de segredos**: Passe com segurança os Segredos do GitHub Actions para a nuvem como valores de configuração do Defang. Você especifica quais variáveis de ambiente publicar por meio da entrada `config-env-vars`, garantindo que apenas segredos explicitamente listados sejam enviados para a nuvem. - **Projetos em subdiretórios**: Use a entrada `cwd` para apontar para um arquivo Compose localizado em um subdiretório em vez da raiz do repositório. - **Controle de versão da CLI**: Fixe uma versão específica da CLI do Defang (por exemplo, `v3.5.2`), use `nightly` para a versão instável mais recente ou passe uma referência Git (nome do branch ou SHA do commit) para compilar a CLI a partir do código-fonte. - **Comandos personalizados**: Substitua o comando padrão `compose up` por qualquer comando e argumentos da CLI do Defang por meio da entrada `command`. - **Captura de saída**: Opcionalmente, capture a saída padrão do comando como uma saída da etapa (`outputs.stdout`) usando `capture-output: true`. Isso é desabilitado por padrão porque implantações grandes podem exceder os limites de memória do GitHub Actions. - **Resumo da implantação**: Ao executar `compose up`, a ação chama automaticamente `defang services --json` e escreve uma tabela dos serviços implantados (com endpoints públicos como links clicáveis) no resumo do trabalho do GitHub. Ela também expõe o endpoint HTTPS público primário como a saída `endpoint`, que pode ser conectada ao `environment.url` do trabalho para um link clicável "Ver implantação" na página da execução, na aba Ambientes e na barra lateral do repositório. O resumo pode ser alternado com a entrada `summary`. - **Entradas adicionais**: Suporta `compose-files` para especificar caminhos personalizados de arquivos Compose, `stack` para selecionar uma pilha de implantação e `verbose` para registro detalhado. A ação é projetada para manter os fluxos de trabalho de implantação concisos, fornecendo controle refinado sobre configuração, versionamento e manipulação de saída.