Início rápido: automatizar implantações

Observação

Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.

O plano Standard de consumo e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano Standard de consumo e dedicado dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo se aplica a(o):❌ Básico/Standard ✔️ Enterprise

Este início rápido mostra como automatizar as implantações no plano Enterprise do Aplicativos Spring do Azure usando GitHub Actions e Terraform.

Pré-requisitos

Configurar um repositório do GitHub e autenticar

A automação associada ao aplicativo de exemplo requer uma conta de armazenamento para manter o estado do 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 comando a seguir 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. Execute 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. É necessária 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 semelhante a este:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. Este exemplo usa a amostra fitness store no GitHub. Crie um fork da amostra, abra a página do repositório do 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.

    Captura de tela mostrando as configurações do GitHub Adicionar novo segredo.

  6. Defina o nome do segredo como AZURE_CREDENTIALS e seu valor como a cadeia de caracteres JSON que você encontrou no título Configure seu repositório do GitHub e autentique.

    Captura de tela mostrando as configurações do GitHub Definir dados de segredo.

  7. Adicione os seguintes segredos ao GitHub Actions:

  8. Adicione o segredo TF_BACKEND_CONFIG ao GitHub Actions 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"
    

Automatizar com o GitHub Actions

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

Captura de tela do GitHub mostrando saída do fluxo de trabalho de provisionamento.

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:

Captura de tela do GitHub mostrando saída do fluxo de trabalho de implantação de catálogo.

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

Captura de tela do GitHub mostrando saída do fluxo de trabalho de limpeza.

Limpar os recursos

Se planejar continuar trabalhando com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão. Quando não for mais necessário, exclua o grupo de recursos, que excluirá os recursos no 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óximas etapas

Continue com qualquer um dos seguintes guias de início rápido opcionais: