Annulation d'une mise à jour à l'aide de la CLI

Ce tutoriel vous explique comment rétablir un déploiement à l'aide de l'interface de commande. À l'issue de ce tutoriel, vous avez appris à revenir sur les modifications apportées à une configuration d'architecture déployable dans un projet. À la fin de ce tutoriel, la configuration de votre architecture déployable correspondra à la dernière version déployée avec succès.

Imaginez que vous êtes développeur de logiciels pour l'entreprise Example Corp. Votre architecte d'infrastructure a découvert l'architecture déployable Cloud automation for Code Engine, et votre professionnel de l'ingénierie Cloud automation l'a personnalisée pour qu'elle réponde parfaitement aux besoins de votre entreprise. Vous avez déployé cette architecture personnalisée appelée Example Corp's infrastructure dans deux régions. Ensuite, votre professionnel de l'automatisation du cloud a publié une nouvelle version de Example Corp's infrastructure, et vous avez donc mis à jour vos déploiements en cours pour utiliser la dernière version. Récemment, votre équipe a découvert un bogue dans la région us-south. Le bogue étant nouveau, vous souhaitez ramener le déploiement de la région us-south à ce qu'il était auparavant, car vous savez que ce déploiement n'incluait pas le bogue.

Ce tutoriel utilise un scénario fictif pour vous aider à comprendre comment revenir sur des changements déployés dans une configuration d'architecture déployable dans votre projet. Au fur et à mesure que vous complétez le tutoriel, adaptez chaque étape aux besoins de votre organisation.

Avant de commencer

  1. Créer une architecture déployable personnalisée appelée Example Corp's infrastructure et l'intégrer à un catalogue privé appelé Example Corp catalog.

  2. Déployer l'infrastructure de Example Corp dans deux régions à l 'aide d'un projet appelé Example Corp infrastructure.

  3. Mettez à jour l'infrastructure de Example Corp avec une nouvelle version du catalogue privé et ajoutez deux options de base de données que vos utilisateurs peuvent choisir. Valider la version dans le catalogue privé pour que la nouvelle version soit dans l'état Validated draft.

  4. Mettez à jour votre projet pour utiliser la dernière version de Example Corp's infrastructure et déployez les modifications.

    La dernière version de Example Corp's infrastructure inclut des options de base de données qui peuvent être déployées à partir de votre projet Example Corp infrastructure. La réalisation de ce tutoriel n'a aucun impact sur votre projet, à l'exception de la configuration de example-corp-us-south. Si nécessaire, vous pouvez déployer séparément les autres configurations de votre projet, y compris les bases de données.

  5. Pour compléter ce tutoriel, installez le CLI IBM Cloud.

Recherche de l'ID du projet, de l'ID de la configuration et de la version à laquelle vous souhaitez revenir

Avant de pouvoir exécuter les commandes CLI pour revenir à une version précédemment déployée, vous avez besoin de l'ID de la configuration example-corp-us-south et de l'ID du projet Example Corp infrastructure qui contient la configuration.

Pour trouver ces identifiants et la version à l'aide de l'interface de gestion, exécutez les commandes suivantes :

  1. Connectez-vous à IBM Cloud en exécutant la commande suivante ibmcloud login commande suivante. Si vous disposez de plusieurs comptes, vous êtes invité à sélectionner le compte à utiliser :

    ibmcloud login \
        --sso
    

    Utilisez l'option --sso pour vous connecter via la console. Si vous le faites, la console s'ouvre dans un navigateur web pour vous permettre de vous connecter. Un code est ensuite généré pour que vous puissiez le coller dans la CLI.

  2. Trouvez l'ID du projet Example Corp infrastructure dans votre compte en exécutant la commande suivante ibmcloud project list suivante :

    ibmcloud project list \
        --all-pages
    

    Utilisez l'option --all-pages pour récupérer tous les projets de votre compte.

  3. Utilisez l'ID du projet Example Corp infrastructure et le nom de la configuration pour trouver l'ID de la configuration. Pour ce faire, exécutez la commande suivante ibmcloud project configs pour ce faire :

    ibmcloud project configs \
        --project-id <Example-Corp-infrastructure-project-id> \
        --all-pages
    
  4. Utilisez l'ID du projet Example Corp infrastructure et l'ID de la configuration example-corp-us-south pour trouver les versions de cette configuration dans le projet. Exécutez la commande suivante ibmcloud project config-versions suivante :

    ibmcloud project config-versions \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    

    Deux versions de la configuration example-corp-us-south doivent être répertoriées. La version deux est dans l'état deployed, tandis que la version un est dans l'état superseded. La version la plus ancienne est la première à avoir été déployée. C'est sur cette version que vous souhaitez revenir.

Récupérer la version sur laquelle vous souhaitez revenir

Maintenant que vous avez les identifiants et la version à laquelle vous souhaitez revenir, exécutez la commande suivante ibmcloud project config-version pour récupérer la version spécifique de example-corp-us-south. Veillez à inclure le paramètre permettant de renvoyer la sortie au format JSON:

   ibmcloud project config-version \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id> \
        --version 1 \
        --output json

Copiez le contenu du bloc definition dans la sortie JSON et enregistrez-le dans un fichier definition.json. Le contenu de definition comprend les valeurs d'entrée que vous avez fournies, l'autorisation que vous avez utilisée pour accorder au projet l'accès au déploiement vers votre compte cible, le nom de votre configuration et l'ID de localisateur pour Example Corp's infrastructure qui identifie l'architecture déployable dans le catalogue privé. Considérez-le comme un instantané de la version 1 de example-corp-us-south avec toutes les données et informations que vous avez fournies dans votre projet, par exemple :

{
    "authorizations": {},
    "compliance_profile": {},
    "description": "",
    "inputs": {
      "prefix": "us-south",
      "region": "us-south"
    },
    "locator_id": "<Example-Corp-catalog-locator-id>",
    "name": "example-corp-us-south",
    "environment_id": "<Example-Corp-infrastructure-dev-id>"
}

Mettre à jour la configuration pour utiliser la définition de la version précédente

Maintenant que vous avez la définition de la version 1 de example-corp-us-south, mettez à jour cette configuration pour utiliser cette définition. Cette opération met à jour example-corp-us-south de manière à ce qu'il soit exactement tel que vous l'avez configuré lorsque vous avez déployé la version 1. Exécutez la commande suivante ibmcloud project config-update pour example-corp-us-south:

ibmcloud project config-update \
     --project-id <Example-Corp-infrastructure-project-id> \
     --id <example-corp-us-south-id> \
     --definition "$(cat definition.json)"

Valider, approuver et déployer les changements

Maintenant que example-corp-us-south a été mis à jour pour utiliser la définition de la première version de la configuration, il est temps de valider, d'approuver et de déployer les changements. Vous pouvez utiliser la console pour ce faire, ou vous pouvez exécuter les commandes CLI suivantes :

  1. Validez example-corp-us-south en exécutant la commande suivante ibmcloud project config-validate commande suivante :

    ibmcloud project config-validate \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    
  2. Approuver example-corp-us-south en exécutant la commande suivante ibmcloud project config-approve commande suivante :

    ibmcloud project config-approve \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id> \
        --comment <Rolling back to the previously deployed version>
    
  3. Déployez example-corp-us-south en exécutant la commande suivante ibmcloud project config-deploy commande suivante :

    ibmcloud project config-deploy \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    

Une fois le déploiement terminé, example-corp-us-south revient à la première version de cette configuration que vous avez déployée à partir du projet. Votre équipe peut maintenant enquêter sur le bogue et publier une mise à jour de Example Corp's infrastructure si nécessaire.