Exercício - Implantar um arquivo Bicep a partir de fluxos de trabalho do GitHub
As Ações do GitHub são semelhantes aos Pipelines do Azure na natureza. Eles fornecem uma maneira de automatizar o desenvolvimento e as implantações de software. Neste exercício, você aprenderá como implantar um arquivo Bicep usando uma Ação do GitHub.
Pré-requisitos
- Você precisará de uma conta no GitHub que possa criar gratuitamente aqui.
- Um repositório GitHub também é necessário para armazenar seu arquivo Bicep e fluxos de trabalho criados anteriormente no Exercício - Criar modelos Bicep. Depois de criar seu repositório GitHub, envie o arquivo Bicep para ele.
- Para implantação no Azure, é necessário acesso a uma assinatura do Azure, que pode ser criada gratuitamente aqui.
Criando uma entidade de serviço no Azure
Para implantar seus recursos no Azure, você precisará criar uma entidade de serviço que o GitHub possa usar. Portanto, abra um terminal ou use o Cloud Shell no portal do Azure e digite os seguintes comandos:
az login
az ad sp create-for-rbac --name myApp --role contributor --scopes /subscriptions/{subscription-id}/resourceGroups/Bicep --sdk-auth
Nota
Não se esqueça de substituir o ID da Subscrição pelo seu.
Quando a operação for bem-sucedida, ela deverá gerar um objeto JSON que contenha suas tenantId
propriedades , subscriptionId
, clientId
, clientSecret
, e mais algumas, como as seguintes.
{
"clientId": "<GUID>",
"clientSecret": "<GUID>",
"subscriptionId": "<GUID>",
"tenantId": "<GUID>",
(...)
}
Observe este objeto, pois você precisará adicioná-lo aos seus segredos do GitHub.
Criando um segredo do GitHub
No repositório do GitHub, navegue até Settings>Secrets>Actions. Crie um novo segredo chamado AZURE_CREDENTIALS
e cole todo o objeto JSON obtido na etapa anterior.
Crie outro segredo para o nome do grupo de recursos com um nome como AZURE_RG
e um para a assinatura.
Criando uma ação do GitHub
Primeiro, navegue até o repositório e selecione o menu Ações. Em seguida, configure um fluxo de trabalho para criar um fluxo de trabalho vazio no repositório. Você pode renomear o arquivo para um nome diferente, se preferir.
Substitua o conteúdo do arquivo pelo seguinte trecho:
on: [push] name: Azure ARM jobs: build-and-deploy: runs-on: ubuntu-latest steps: # Checkout code - uses: actions/checkout@main # Log into Azure - uses: azure/login@v1 with: creds: ${{ secrets.AZURE_CREDENTIALS }} # Deploy Bicep file - name: deploy uses: azure/arm-deploy@v1 with: subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION }} resourceGroupName: ${{ secrets.AZURE_RG }} template: ./main.bicep parameters: storagePrefix=stg failOnStdErr: false
Sinta-se à vontade para substituir o prefixo da conta de armazenamento pelo seu.
Nota
A primeira parte do fluxo de trabalho define o gatilho e seu nome. O restante define um trabalho e usa algumas tarefas para fazer check-out do código, entrar no Azure e implantar o arquivo Bicep.
Selecione Iniciar confirmação e insira um título e uma descrição na caixa de diálogo pop-up. Em seguida, selecione Confirmar diretamente na ramificação principal, seguido por Confirmar um novo arquivo.
Navegue até a guia Ações e selecione a ação recém-criada que deve ser executada.
Monitore o status e, quando o trabalho for concluído, verifique o portal do Azure para ver se a conta de armazenamento está sendo criada.