Regras avançadas de proteção de implantação automatizada no Actions
Neste guia, você aprenderá a usar GitHub Actions para implantações escalonáveis. Mostraremos como implantar em diferentes ambientes e como usar o GitHub Marketplace para necessidades mais avançadas. O objetivo é garantir que as suas estratégias de implantação possam crescer e se adaptar à sua empresa. Ao longo do caminho, o Itaú Unibanco e a TELUS compartilharão os parâmetros de implantação que os ajudaram a avançar os seus negócios.
Neste guia, você aprenderá como:
Definir regras de proteção de implantação para defender suas implantações
Obter controle manual das implantações com o workflow_dispatch
Capturar dados essenciais pós-implantação com o deployment_outputs
Definição de regras de proteção de implantação automatizadas no GitHub Actions
As regras de proteção de implantação são medidas de proteção essenciais que garantem que as implantações sejam executadas com segurança e precisão. Essas regras servem como pontos de verificação para confirmar que todas as implantações estão de acordo com as práticas recomendadas e com os critérios específicos da empresa. Veja uma análise detalhada:
Revisores necessários
Nomeie membros específicos da equipe para revisar e aprovar as implantações. Isso garante que as alterações se alinhem aos padrões da empresa, o que adiciona uma camada adicional de verificação. Por exemplo, você pode querer a aprovação de um desenvolvedor sênior antes de lançar a implantação.
Cronômetro de espera
Implemente um período de espera definido antes de qualquer Action de implantação. Esta etapa pode ser crucial para implantações essenciais, fornecendo às equipes uma oportunidade de verificar novamente ou esperar horários mais tranquilos para implantar, assim minimizando possíveis interrupções.
Regras personalizadas
Crie regras personalizadas feitas sob medida para sua organização ou use aplicativos de terceiros. Por exemplo, garantir que as cargas de um servidor estejam abaixo de um limite específico antes de implantar ou usar um aplicativo que integre essa funcionalidade.
Controle sobre a implantação de branch
Especifique quais branches estão qualificados para implantação. Isso garante que apenas códigos testados e estáveis sejam implantados. Por exemplo, permitir somente branches chamados release-*
para implantação para manter um código implantável claro e consistente.
Proteger suas credenciais é uma das medidas mais impactantes para proteger suas implantações. Pense nisso como proteger seu espaço de trabalho físico: você não deixaria sua senha em um post-it para todo mundo ver. Da mesma forma, armazenar informações confidenciais no código-fonte as expõe a qualquer pessoa com acesso. Usamos os segredos da organização para lidar com informações confidenciais comumente usadas para que possamos facilmente revogá-las e alterná-las quando necessário. Nossas equipes de desenvolvimento usam os segredos de repositório para dados confidenciais vinculados a repositórios específicos. Assim, somente aqueles com permissão para esses repositórios podem acessá-los.
Validação de parâmetros de implantação
Validar os parâmetros de implantação antes da execução é essencial para uma implantação de software eficiente e precisa. Identificar discrepâncias e imprecisões no início permite que as equipes eliminem tempo perdido com solução de problemas e garantam que as implantações prossigam com base em dados precisos e confiáveis. Essa etapa proativa não só mantem a consistência do pipeline de implantação, mas também aumenta a confiança no sistema como um todo.
No Itaú, descobrimos que o uso do GitHub Actions nos permite descobrir problemas com antecedência. Fazemos isso quando os desenvolvedores começam a trabalhar em um novo recurso. Fazer essas verificações com antecedência nos ajuda a evitar problemas posteriores, como atrasos ou implantações com falha. Então, é realmente útil usar o GitHub Actions para garantir que tudo esteja configurado corretamente desde o início.
Workflow_dispatch
O workflow_dispatch
no Actions dá aos desenvolvedores controle manual aprimorado sobre as implantações. Ele fornece um método para acionar manualmente a execução de um fluxo de trabalho na interface do GitHub, tornando-o mais interativo e flexível para as necessidades da implantação.
Ao utilizar o workflow_dispatch
, é possível inserir parâmetros de implantação específicos diretamente na interface do usuário (IU) do GitHub. Por exemplo, parâmetros como a imagem de contêiner do aplicativo, o tipo e o nome do aplicativo podem ser facilmente configurados. Isso não só oferece a flexibilidade de fazer ajustes instantâneos, mas também garante que o conteúdo implantado se alinhe com seu objetivo inicial.
Deployment_outputs
deployment_outputs
captura dados essenciais depois da execução de uma implantação no Actions. Ele armazena detalhes fundamentais, como o nome do plano e do ambiente, a imagem de contêiner e login de registro, em um arquivo de saídas estruturado, como deployment_outputs.json
. Isso garante acesso facilitado a informações essenciais pós-implantação, otimizando quaisquer etapas ou verificações subsequentes.
Aproveitando o mercado para implantações aprimoradas
O Marketplace do Actions é uma poderosa ferramenta que oferece uma ampla gama de ações personalizadas para otimizar e simplificar as implantações. No marketplace, você encontra ações que se adequam às suas necessidades específicas de implantação com facilidade, desde a implantação de plataformas como o Azure até processos mais complexos, como implantações azul-verde ou canário. Por exemplo, ao pesquisar por "Azure" ou "deployment" no marketplace, uma variedade de ações é exibida, como criar um cluster AKS ou outras tarefas específicas do Azure. Com essas ações predefinidas, é possível simplificar significativamente os processos de implantação, garantindo assim um fluxo de implantação mais eficiente e otimizado.
O GitHub Marketplace é um recurso excelente para aprimorar seu pipeline de CI/CD e adotar rapidamente as práticas recomendadas do setor. Quando começamos a procurar uma forma de adicionar uma varredura de segurança para nossas imagens de contêiner, pesquisamos o Marketplace e rapidamente encontramos cinco opções para cuidar dessa tarefa.
A seguir: Conclusão do módulo de automação intermediário
Tudo pronto para juntar as peças? Não perca o resumo que sintetiza todo o caminho de aprendizagem sobre o uso do GitHub Actions intermediário.