Implantar modelos do ARM como parte dos esforços de CI/CD com o GitHub Actions

Concluído

O GitHub Actions ajuda sua equipe a ser ágil e competitiva no marketplace de hoje. Ele ajuda a automatizar as tarefas relacionadas ao ciclo de vida de desenvolvimento do sistema ou da solução.

Suponha que você e a sua equipe estejam desenvolvendo uma solução que exige um número significativo de recursos em um ambiente do Azure. Você precisa garantir que a solução possa ser implantada de maneira rápida e automática como parte de um pipeline de CI/CD (integração contínua e entrega contínua). Assim, você pode automatizar a criação e a remoção da infraestrutura do projeto. Ao incluir o gerenciamento de recursos em seu pipeline de CI/CD, você está adotando a IaC (infraestrutura como código) para automatizar as tarefas de TI.

Os pipelines de CI/CD adequados também permitem que você inclua uma etapa de teste nas tarefas de implantação, por meio de ferramentas como o kit de ferramentas de teste de modelos do ARM (Azure Resource Manager), arm-ttk para abreviar. Para saber mais sobre esse kit de ferramentas, confira Validar implantações usando o teste de hipóteses o kit de ferramentas de teste.

É uma boa ideia incluir testes no pipeline para que você possa se concentrar na criação. O kit de ferramentas arm-ttk executa uma série de testes para validar o modelo durante a implantação para evitar problemas.

Várias ferramentas estão disponíveis para ajudar você a atingir essas metas. Como você já está usando o GitHub para o repositório de código, você decide investigar o GitHub Actions para ver se ele fornece a automação necessária.

Este módulo apresenta o GitHub Actions como uma forma de implantar modelos do ARM.

O que é o GitHub Actions?

O GitHub Actions são scripts empacotados para automatizar tarefas em um fluxo de trabalho de desenvolvimento no GitHub.

O GitHub Actions permite que você crie fluxos de trabalho personalizados para o ciclo de vida de desenvolvimento de software diretamente no repositório do GitHub em que os modelos do ARM estão armazenados. Um arquivo YAML define um fluxo de trabalho.

Os fluxos de trabalho têm um ou mais trabalhos. Cada trabalho contém um conjunto de etapas que executam tarefas individuais. As etapas podem executar comandos ou usar uma ação. Você pode criar suas ações ou usar as ações compartilhadas pela comunidade do GitHub e personalizá-las conforme necessário.

Um fluxo de trabalho básico para implantar um modelo do ARM pode ter pelo menos três etapas:

  1. Fazer check-out de um arquivo de modelo.
  2. Entre no Azure.
  3. Implante o modelo.

A ação de entrada no Azure usa uma entidade de serviço para se autenticar no Azure. Para a entidade de segurança de um fluxo de trabalho de CI/CD implantar recursos do Azure, ela precisa ter o colaborador interno correto.