Démarrage rapide : Automatiser les déploiements
Remarque
Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.
Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.
Cet article s’applique à : ❎ Essentiel/Standard ✅ Entreprise
Ce démarrage rapide explique comment automatiser les déploiements vers le plan Enterprise d’Azure Spring Apps à l’aide de GitHub Actions et Terraform.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Comprendre la section Exigences du plan niveau Enterprise dans la place de marché Azure et y répondre.
- Azure CLI version 2.45.0 ou ultérieure.
- Git.
- jq
- L’extension de plan Enterprise d’Azure Spring Apps. Utilisez la commande suivante pour supprimer les versions précédentes et installer l’extension de plan Enterprise la plus récente. Si vous avez déjà installé l’extension
spring-cloud
, désinstallez-la pour éviter les incompatibilités de configuration et de version.az extension add --upgrade --name spring az extension remove --name spring-cloud
Configurer un référentiel GitHub et s’authentifier
L’automatisation associée à l’exemple d’application nécessite un compte Stockage pour maintenir l’état Terraform. Les étapes suivantes vous montrent comment créer un compte Stockage à utiliser avec GitHub Actions et Terraform.
Utilisez la commande suivante afin de créer un groupe de ressources destiné à contenir le compte Stockage :
az group create \ --name <storage-resource-group> \ --location <location>
Utilisez la commande suivante pour créer un compte de stockage :
az storage account create \ --resource-group <storage-resource-group> \ --name <storage-account-name> \ --location <location> \ --sku Standard_RAGRS \ --kind StorageV2
Utilisez la commande suivante pour créer un conteneur Stockage dans le compte Stockage :
az storage container create \ --resource-group <storage-resource-group> \ --name terraform-state-container \ --account-name <storage-account-name> \ --auth-mode login
Utilisez les commandes suivantes pour obtenir des informations d’identification Azure. Vous avez besoin des informations d’identification du principal de service Azure pour autoriser une action de connexion Azure.
az login az ad sp create-for-rbac \ --role contributor \ --scopes /subscriptions/<SUBSCRIPTION_ID> \ --json-auth
La commande doit générer un objet JSON :
{ "clientId": "<GUID>", "clientSecret": "<GUID>", "subscriptionId": "<GUID>", "tenantId": "<GUID>", ... }
Cet exemple utilise l’échantillon fitness store sur GitHub. Ouvrez l’exemple, ouvrez la page du référentiel GitHub, puis sélectionnez l’onglet Paramètres. Ouvrez le menu Secrets, puis sélectionnez Ajouter un nouveau secret, comme illustré dans la capture d’écran suivante.
Définissez le nom du secret sur
AZURE_CREDENTIALS
et sa valeur sur la chaîne JSON que vous avez trouvée sous le titre Configurer le référentiel GitHub et s’authentifier.Ajoutez les secrets suivants à GitHub Actions :
TF_PROJECT_NAME
: utilisez la valeur de votre choix. Cette valeur sera le nom de votre Project Terraform.AZURE_LOCATION
: région Azure dans laquelle vos ressources seront créées.OIDC_JWK_SET_URI
: utilisezJWK_SET_URI
défini dans Démarrage rapide : configurer l’authentification unique pour les applications utilisant le plan Enterprise d’Azure Spring Apps.OIDC_CLIENT_ID
: utilisezCLIENT_ID
défini dans Démarrage rapide : configurer l’authentification unique pour les applications utilisant le plan Enterprise d’Azure Spring Apps.OIDC_CLIENT_SECRET
: utilisezCLIENT_SECRET
défini dans Démarrage rapide : configurer l’authentification unique pour les applications utilisant le plan Enterprise d’Azure Spring Apps.OIDC_ISSUER_URI
: utilisezISSUER_URI
défini dans Démarrage rapide : configurer l’authentification unique pour les applications utilisant le plan Enterprise d’Azure Spring Apps.
Ajoutez le secret
TF_BACKEND_CONFIG
à GitHub Actions avec la valeur suivante :resource_group_name = "<storage-resource-group>" storage_account_name = "<storage-account-name>" container_name = "terraform-state-container" key = "dev.terraform.tfstate"
Automatiser avec GitHub Actions
Vous pouvez maintenant exécuter GitHub Actions dans votre référentiel. Le workflow d’approvisionnement approvisionne toutes les ressources nécessaires pour exécuter l’exemple d’application. La capture d’écran suivante en donne un exemple :
Chaque application dispose d’un workflow de déploiement qui redéploie l’application lorsque des modifications sont apportées à celle-ci. La capture d’écran suivante montre un exemple de sortie du service catalogue :
Le workflow de nettoyage peut être exécuté manuellement pour supprimer toutes les ressources créées par le workflow provision
. La capture d’écran qui suit présente le résultat :
Nettoyer les ressources
Si vous prévoyez d’utiliser d’autres guides de démarrage rapide et tutoriels, vous pouvez conserver ces ressources. Quand vous n’en avez plus besoin, supprimez le groupe de ressources, ce qui supprime également les ressources qu’il contient. Pour supprimer le groupe de ressources à l’aide d’Azure CLI, utilisez les commandes suivantes :
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Étapes suivantes
Passez à l’un des guides de démarrage rapide facultatifs suivants :