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 consumo e dedicado Standard 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 dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo se aplica a: ❎ Básico/Padrão ✅ 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
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Entenda e atenda a seçã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 Enterprise dos Aplicativos Spring do Azure. Use o comando a seguir para remover as versões anteriores e instalar a extensão do plano Enterprise mais recente. Se você instalou a extensão
spring-cloud
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 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.
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 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
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
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>", ... }
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.
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.Adicione os seguintes segredos ao GitHub Actions:
TF_PROJECT_NAME
: use um valor de sua escolha. Esse valor será o nome do projeto do Terraform.AZURE_LOCATION
: a Região do Azure na qual seus recursos serão criados.OIDC_JWK_SET_URI
: usar oJWK_SET_URI
definido em Início Rápido: configurar o logon único para aplicativos usando o plano Enterprise do Aplicativos Spring do Azure.OIDC_CLIENT_ID
: usar oCLIENT_ID
definido em Início Rápido: configurar o logon único para aplicativos usando o plano Enterprise do Aplicativos Spring do Azure.OIDC_CLIENT_SECRET
: usar oCLIENT_SECRET
definido em Início Rápido: configurar o logon único para aplicativos usando o plano Enterprise do Aplicativos Spring do Azure.OIDC_ISSUER_URI
: usar oISSUER_URI
definido em Início Rápido: configurar o logon único para aplicativos usando o plano Enterprise do Aplicativos Spring do Azure.
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:
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 fluxo de trabalho provision
. A captura de tela a seguir mostra o resultado:
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: