Condividi tramite


Guida introduttiva: Automatizzare le distribuzioni

Note

I piani Basic, Standard ed Enterprise sono entrati in un periodo di ritiro il 17 marzo 2025. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.

Questo articolo si applica a: ❎ Basic/Standard ✅ Enterprise

Questa guida di avvio rapido illustra come automatizzare le distribuzioni nel piano Azure Spring Apps Enterprise usando GitHub Actions e Terraform.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
  • Interfaccia della riga di comando di Azure versione 2.45.0 o successiva.
  • Git.
  • jq
  • Estensione del piano Enterprise di Azure Spring Apps. Usare il comando seguente per rimuovere le versioni precedenti e installare l'estensione del piano Enterprise più recente. Se l'estensione spring-cloud è stata installata in precedenza, disinstallarla per evitare la mancata corrispondenza della configurazione e della versione.
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    

Configurare un repository GitHub ed eseguire l'autenticazione

L'automazione associata all'applicazione di esempio richiede un account di archiviazione per mantenere lo stato di Terraform. La procedura seguente illustra come creare un account di archiviazione da usare con GitHub Actions e Terraform.

  1. Usare il comando seguente per creare un nuovo gruppo di risorse che contenga l'account di archiviazione:

    az group create \
        --name <storage-resource-group> \
        --location <location>
    
  2. Usare il comando seguente per creare un account di archiviazione:

    az storage account create \
        --resource-group <storage-resource-group> \
        --name <storage-account-name> \
        --location <location> \
        --sku Standard_RAGRS \
        --kind StorageV2
    
  3. Usare il comando seguente per creare un contenitore di archiviazione all'interno dell'account di archiviazione:

    az storage container create \
        --resource-group <storage-resource-group> \
        --name terraform-state-container \
        --account-name <storage-account-name> \
        --auth-mode login
    
  4. Usare i comandi seguenti per ottenere le credenziali di Azure. Per autorizzare l'azione di accesso ad Azure, sono necessarie credenziali di entità servizio di Azure.

    az login
    az ad sp create-for-rbac \
        --role contributor \
        --scopes /subscriptions/<SUBSCRIPTION_ID> \
        --json-auth
    

    Il comando deve restituire un oggetto JSON:

    {
        "clientId": "<GUID>",
        "clientSecret": "<GUID>",
        "subscriptionId": "<GUID>",
        "tenantId": "<GUID>",
        ...
    }
    
  5. Questo esempio usa l'esempio di negozio di fitness in GitHub. Creare una copia tramite fork dell'esempio, aprire la pagina del repository GitHub e quindi selezionare la scheda Impostazioni. Aprire il menu Segreti, quindi selezionare Aggiungi un nuovo segreto, come illustrato nello screenshot seguente.

    Screenshot che mostra GitHub Settings Add new secret.

  6. Impostare il nome del segreto AZURE_CREDENTIALS su e impostarne il valore sulla stringa JSON trovata sotto l'intestazione Configurare il repository GitHub ed eseguire l'autenticazione.

    Screenshot che mostra i dati segreti del set di impostazioni di GitHub.

  7. Aggiungere i segreti seguenti a GitHub Actions:

  8. Aggiungere il segreto TF_BACKEND_CONFIG a GitHub Actions con il valore seguente:

    resource_group_name  = "<storage-resource-group>"
    storage_account_name = "<storage-account-name>"
    container_name       = "terraform-state-container"
    key                  = "dev.terraform.tfstate"
    

Automatizzare con GitHub Actions

È ora possibile eseguire GitHub Actions nel repository. Il flusso di lavoro di provisioning effettua il provisioning di tutte le risorse necessarie per eseguire l'applicazione di esempio. Lo screenshot seguente mostra un esempio di esecuzione:

Screenshot di GitHub che mostra l'output del flusso di lavoro di provisioning.

Ogni applicazione ha un flusso di lavoro di distribuzione che ridistribuirà l'applicazione quando vengono apportate modifiche all'applicazione. Lo screenshot seguente mostra un output di esempio del servizio catalogo:

Screenshot di GitHub che mostra l'output del flusso di lavoro Distribuisci catalogo.

Il flusso di lavoro di pulizia può essere eseguito manualmente per eliminare tutte le risorse create dal flusso di lavoro provision. Nella schermata riportata di seguito sono illustrate questo output:

Screenshot di GitHub che mostra l'output del flusso di lavoro di pulizia.

Pulire le risorse

Se si prevede di usare le guide di avvio rapido e le esercitazioni successive, è consigliabile non cancellare le risorse create. Quando non è più necessario, eliminare il gruppo di risorse per eliminare tutte le risorse contenute al suo interno. Per eliminare il gruppo di risorse usando l'interfaccia della riga di comando di Azure, usare i comandi seguenti:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Passaggi successivi

Continuare con una delle seguenti guide di avvio rapido facoltative: