Partilhar via


Guia de início rápido: automatize implantações

Nota

Azure Spring Apps é o novo nome para o serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns lugares por um tempo enquanto trabalhamos para atualizar ativos, como capturas de tela, vídeos e diagramas.

Este artigo aplica-se a:❌ Basic/Standard ✔️ Enterprise

Este guia de início rápido mostra como automatizar implantações para o plano do Azure Spring Apps Enterprise usando o GitHub Actions e o Terraform.

Pré-requisitos

Configurar um repositório GitHub e autenticar

A automação associada ao aplicativo de exemplo requer uma conta de armazenamento para manter o estado Terraform. As etapas a seguir mostram como criar uma conta de armazenamento para uso com o GitHub Actions e o Terraform.

  1. Use o seguinte comando para criar um novo grupo de recursos para conter a Conta de Armazenamento:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Use o seguinte comando para criar uma conta de armazenamento:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Use o seguinte comando para criar um contêiner de armazenamento na conta de armazenamento:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Use os comandos a seguir para obter uma credencial do Azure. Você precisa de uma credencial de entidade de serviço do Azure para autorizar a ação de logon do Azure.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    O comando deve gerar um objeto JSON:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. Este exemplo usa o exemplo de loja de fitness no GitHub. Bifurque o exemplo, abra a página do repositório GitHub e selecione a guia Configurações. Abra o menu Segredos e selecione Adicionar um novo segredo, conforme mostrado na captura de tela a seguir.

    Screenshot showing GitHub Settings Add new secret.

  6. Defina o nome secreto como AZURE_CREDENTIALS e defina seu valor para a cadeia de caracteres JSON que você encontrou sob o título Configurar seu repositório GitHub e autenticar.

    Screenshot showing GitHub Settings Set secret data.

  7. Adicione os seguintes segredos às Ações do GitHub:

  8. Adicione o segredo TF_BACKEND_CONFIG às Ações do GitHub com o seguinte valor:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

Automatize com ações do GitHub

Agora você pode executar ações do GitHub em seu repositório. O fluxo de trabalho de provisionamento provisiona todos os recursos necessários para executar o aplicativo de exemplo. A captura de tela a seguir mostra um exemplo de execução:

Screenshot of GitHub showing output from the provision workflow.

Cada aplicativo tem um fluxo de trabalho de implantação que reimplantará o aplicativo quando forem feitas alterações nesse aplicativo. A captura de tela a seguir mostra alguns exemplos de saída do serviço de catálogo:

Screenshot of GitHub showing output from the Deploy Catalog workflow.

O fluxo de trabalho de limpeza pode ser executado manualmente para excluir todos os recursos criados pelo provision fluxo de trabalho. A captura de tela a seguir mostra a saída:

Screenshot of GitHub showing output from the cleanup workflow.

Clean up resources (Limpar recursos)

Se você planeja continuar trabalhando com guias de início rápido e tutoriais subsequentes, convém deixar esses recursos no lugar. Quando não for mais necessário, exclua o grupo de recursos, que exclui os recursos do grupo de recursos. Para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Próximos passos

Continue para qualquer um dos seguintes inícios rápidos opcionais: