Snabbstart: Automatisera distributioner
Kommentar
Basic-, Standard- och Enterprise-planerna kommer att vara inaktuella från och med mitten av mars 2025, med en 3-årig pensionsperiod. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i meddelandet om azure Spring Apps-pensionering.
Standardförbrukningen och den dedikerade planen kommer att vara inaktuell från och med den 30 september 2024, med en fullständig avstängning efter sex månader. Vi rekommenderar att du övergår till Azure Container Apps. Mer information finns i Migrera Azure Spring Apps Standard-förbrukning och dedikerad plan till Azure Container Apps.
Den här artikeln gäller för:❌ Basic/Standard ✔️ Enterprise
Den här snabbstarten visar hur du automatiserar distributioner till Azure Spring Apps Enterprise-planen med hjälp av GitHub Actions och Terraform.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Förstå och uppfylla avsnittet Krav i Enterprise-plan på Azure Marketplace.
- Azure CLI version 2.45.0 eller senare.
- Git.
- jq
- Azure Spring Apps Enterprise-plantillägget. Använd följande kommando för att ta bort tidigare versioner och installera det senaste Enterprise-plantillägget. Om du tidigare har installerat
spring-cloud
tillägget avinstallerar du det för att undvika konfigurations- och versionsmatchningar.az extension add --upgrade --name spring az extension remove --name spring-cloud
Konfigurera en GitHub-lagringsplats och autentisera
Automatiseringen som är associerad med exempelprogrammet kräver ett lagringskonto för att upprätthålla Terraform-tillstånd. Följande steg visar hur du skapar ett lagringskonto för användning med GitHub Actions och Terraform.
Använd följande kommando för att skapa en ny resursgrupp som ska innehålla lagringskontot:
az group create \ --name <storage-resource-group> \ --location <location>
Använd följande kommando för att skapa ett lagringskonto:
az storage account create \ --resource-group <storage-resource-group> \ --name <storage-account-name> \ --location <location> \ --sku Standard_RAGRS \ --kind StorageV2
Använd följande kommando för att skapa en lagringscontainer i lagringskontot:
az storage container create \ --resource-group <storage-resource-group> \ --name terraform-state-container \ --account-name <storage-account-name> \ --auth-mode login
Använd följande kommandon för att hämta en Azure-autentiseringsuppgift. Du behöver en autentiseringsuppgift för Azure-tjänstens huvudnamn för att auktorisera Azure-inloggningsåtgärden.
az login az ad sp create-for-rbac \ --role contributor \ --scopes /subscriptions/<SUBSCRIPTION_ID> \ --json-auth
Kommandot ska mata ut ett JSON-objekt:
{ "clientId": "<GUID>", "clientSecret": "<GUID>", "subscriptionId": "<GUID>", "tenantId": "<GUID>", ... }
I det här exemplet används fitnessbutiksexemplet på GitHub. Förgrena exemplet, öppna GitHub-lagringsplatsen och välj sedan fliken Inställningar . Öppna menyn Hemligheter och välj sedan Lägg till en ny hemlighet, enligt följande skärmbild.
Ange det hemliga namnet till
AZURE_CREDENTIALS
och ange dess värde till den JSON-sträng som du hittade under rubriken Konfigurera din GitHub-lagringsplats och autentisera.Lägg till följande hemligheter i GitHub Actions:
TF_PROJECT_NAME
: Använd ett värde som du väljer. Det här värdet är namnet på terraformprojektet.AZURE_LOCATION
: Den Azure-region som dina resurser kommer att skapas i.OIDC_JWK_SET_URI
: Använd denJWK_SET_URI
definierade i Snabbstart: Konfigurera enkel inloggning för program med hjälp av Azure Spring Apps Enterprise-planen.OIDC_CLIENT_ID
: Använd denCLIENT_ID
definierade i Snabbstart: Konfigurera enkel inloggning för program med hjälp av Azure Spring Apps Enterprise-planen.OIDC_CLIENT_SECRET
: Använd denCLIENT_SECRET
definierade i Snabbstart: Konfigurera enkel inloggning för program med hjälp av Azure Spring Apps Enterprise-planen.OIDC_ISSUER_URI
: Använd denISSUER_URI
definierade i Snabbstart: Konfigurera enkel inloggning för program med hjälp av Azure Spring Apps Enterprise-planen.
Lägg till hemligheten
TF_BACKEND_CONFIG
i GitHub Actions med följande värde:resource_group_name = "<storage-resource-group>" storage_account_name = "<storage-account-name>" container_name = "terraform-state-container" key = "dev.terraform.tfstate"
Automatisera med GitHub Actions
Nu kan du köra GitHub Actions på lagringsplatsen. Etableringsarbetsflödet etablerar alla resurser som krävs för att köra exempelprogrammet. Följande skärmbild visar en exempelkörning:
Varje program har ett distribuerat arbetsflöde som distribuerar om programmet när ändringar görs i programmet. Följande skärmbild visar några exempel på utdata från katalogtjänsten:
Rensningsarbetsflödet kan köras manuellt för att ta bort alla resurser som skapats av provision
arbetsflödet. Följande skärmbild visar utdata:
Rensa resurser
Om du planerar att fortsätta arbeta med efterföljande snabbstarter och självstudier kanske du vill lämna dessa resurser på plats. Ta bort resursgruppen när den inte längre behövs, vilket tar bort resurserna i resursgruppen. Om du vill ta bort resursgruppen med hjälp av Azure CLI använder du följande kommandon:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Nästa steg
Fortsätt till någon av följande valfria snabbstarter: