Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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>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 StorageV2Usare 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 loginUsare 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-authIl comando deve restituire un oggetto JSON:
{ "clientId": "<GUID>", "clientSecret": "<GUID>", "subscriptionId": "<GUID>", "tenantId": "<GUID>", ... }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.
Impostare il nome del segreto
AZURE_CREDENTIALSsu e impostarne il valore sulla stringa JSON trovata sotto l'intestazione Configurare il repository GitHub ed eseguire l'autenticazione.Aggiungere i segreti seguenti a GitHub Actions:
-
TF_PROJECT_NAME: usare un valore a scelta. Questo valore sarà il nome del progetto Terraform. -
AZURE_LOCATION: area di Azure in cui verranno create le risorse. -
OIDC_JWK_SET_URI: usare l'elementoJWK_SET_URIdefinito nella guida introduttiva: Configurare l'accesso Single Sign-On per le applicazioni usando il piano Azure Spring Apps Enterprise. -
OIDC_CLIENT_ID: usare l'elementoCLIENT_IDdefinito nella guida introduttiva: Configurare l'accesso Single Sign-On per le applicazioni usando il piano Azure Spring Apps Enterprise. -
OIDC_CLIENT_SECRET: usare l'elementoCLIENT_SECRETdefinito nella guida introduttiva: Configurare l'accesso Single Sign-On per le applicazioni usando il piano Azure Spring Apps Enterprise. -
OIDC_ISSUER_URI: usare l'elementoISSUER_URIdefinito nella guida introduttiva: Configurare l'accesso Single Sign-On per le applicazioni usando il piano Azure Spring Apps Enterprise.
-
Aggiungere il segreto
TF_BACKEND_CONFIGa 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:
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:
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:
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: