Guia de início rápido: automatize implantações
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão 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 obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
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
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Compreenda e cumpra a secção Requisitos do plano Enterprise no Azure Marketplace.
- A CLI do Azure versão 2.45.0 ou superior.
- Git.
- JQ
- A extensão do plano do Azure Spring Apps Enterprise. Use o comando a seguir para remover versões anteriores e instalar a extensão de plano Enterprise mais recente. Se você instalou
spring-cloud
a extensão anteriormente, desinstale-a para evitar incompatibilidades de configuração e versão.az extension add --upgrade --name spring az extension remove --name spring-cloud
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.
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>
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
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
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>", ... }
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.
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.Adicione os seguintes segredos às Ações do GitHub:
TF_PROJECT_NAME
: Use um valor de sua escolha. Este valor será o nome do seu Projeto Terraform.AZURE_LOCATION
: A Região do Azure na qual seus recursos serão criados.OIDC_JWK_SET_URI
: Use o definido em Guia de início rápido: configure oJWK_SET_URI
logon único para aplicativos usando o plano Azure Spring Apps Enterprise.OIDC_CLIENT_ID
: Use o definido em Guia de início rápido: configure oCLIENT_ID
logon único para aplicativos usando o plano Azure Spring Apps Enterprise.OIDC_CLIENT_SECRET
: Use o definido em Guia de início rápido: configure oCLIENT_SECRET
logon único para aplicativos usando o plano Azure Spring Apps Enterprise.OIDC_ISSUER_URI
: Use o definido em Guia de início rápido: configure oISSUER_URI
logon único para aplicativos usando o plano Azure Spring Apps Enterprise.
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:
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:
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:
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: