Partager via


Démarrage rapide : Automatiser les déploiements

Remarque

Les abonnements Basic, Standard et Enterprise sont entrés dans une période de retraite le 17 mars 2025. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Cet article s’applique à : ❎ Essentiel/Standard ✅ Entreprise

Ce guide de démarrage rapide vous montre comment automatiser les déploiements dans le plan Azure Spring Apps Enterprise à l’aide de GitHub Actions et terraform.

Prérequis

  • Un compte Azure avec un abonnement actif. Créez un compte gratuitement.
  • 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 dépôt GitHub et s’authentifier

L’automatisation associée à l’exemple d’application nécessite un compte de stockage pour maintenir l’état Terraform. Les étapes suivantes vous montrent comment créer un compte de stockage à utiliser avec GitHub Actions et Terraform.

  1. Utilisez la commande suivante pour créer un groupe de ressources pour contenir le compte de 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 de stockage dans le compte de 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 identifiants du principal de service Azure pour autoriser l'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’exemple de magasin de fitness sur GitHub. Forkez l'échantillon, ouvrez la page du dépôt GitHub, puis sélectionnez l’onglet Settings. 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 GitHub Ajouter un nouveau secret.

  6. Définissez le nom AZURE_CREDENTIALS du secret et définissez sa valeur sur la chaîne JSON que vous avez trouvée sous l’en-tête Configurer votre dépôt GitHub et authentifier.

    Capture d’écran montrant gitHub Settings Set secret data.

  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 dépôt. Le flux de travail d’approvisionnement provisionne toutes les ressources nécessaires pour exécuter l’exemple d’application. La capture d’écran suivante montre un exemple d’exécution :

Capture d’écran de GitHub montrant la sortie du flux de travail de provisionnement.

Chaque application dispose d’un workflow de déploiement qui redéploie l’application lorsque des modifications sont apportées à cette application. La capture d’écran suivante montre un exemple de sortie du service catalogue :

Capture d’écran de GitHub montrant la sortie du flux de travail Déployer le catalogue.

Le flux de travail de nettoyage peut être exécuté manuellement pour supprimer toutes les ressources créées par le provision flux de travail. La capture d’écran suivante montre la sortie :

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