Dela via


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.

  1. 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>
    
  2. 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
    
  3. 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
    
  4. 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>",
        ...
    }
    
  5. 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.

    Skärmbild som visar GitHub-inställningar Lägg till ny hemlighet.

  6. 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.

    Skärmbild som visar GitHub-inställningar Ange hemliga data.

  7. Lägg till följande hemligheter i GitHub Actions:

  8. 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:

Skärmbild av GitHub som visar utdata från etableringsarbetsflödet.

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:

Skärmbild av GitHub som visar utdata från arbetsflödet distribuera katalog.

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:

Skärmbild av GitHub som visar utdata från rensningsarbetsflödet.

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: