Démarrage rapide : Automatiser les déploiements

Notes

Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.

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.

    Screenshot showing GitHub Settings Add new 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.

    Screenshot showing 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 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 :

Screenshot of GitHub showing output from the provision workflow.

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 :

Screenshot of GitHub showing output from the Deploy Catalog workflow.

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 :

Screenshot of GitHub showing output from the cleanup workflow.

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 :