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 à :❌ De base/Standard ✔️ Enterprise

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

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.

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

    Capture d’écran montrant les paramètres de GitHub Ajouter un nouveau secret.

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

    Capture d’écran montrant les paramètres de GitHub Définir les données du secret.

  7. Ajoutez les secrets suivants à GitHub Actions :

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

Capture d’écran de GitHub montrant la sortie du workflow d’approvisionnement.

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 :

Capture d’écran de GitHub montrant la sortie du workflow de déploiement du 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 :

Capture d’écran de GitHub montrant la sortie du workflow de nettoyage.

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 :