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
-
Créer une architecture déployable personnalisée appelée
Example Corp's infrastructureet l'intégrer à un catalogue privé appeléExample Corp catalog. -
Déployer l'infrastructure de Example Corp dans deux régions à l 'aide d'un projet appelé
Example Corp infrastructure. -
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. -
Mettez à jour votre projet pour utiliser la dernière version de
Example Corp's infrastructureet déployez les modifications.La dernière version de
Example Corp's infrastructureinclut des options de base de données qui peuvent être déployées à partir de votre projetExample Corp infrastructure. La réalisation de ce tutoriel n'a aucun impact sur votre projet, à l'exception de la configuration deexample-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. -
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 :
-
Connectez-vous à IBM Cloud en exécutant la commande suivante
ibmcloud logincommande suivante. Si vous disposez de plusieurs comptes, vous êtes invité à sélectionner le compte à utiliser :ibmcloud login \ --ssoUtilisez l'option
--ssopour 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. -
Trouvez l'ID du projet
Example Corp infrastructuredans votre compte en exécutant la commande suivanteibmcloud project listsuivante :ibmcloud project list \ --all-pagesUtilisez l'option
--all-pagespour récupérer tous les projets de votre compte. -
Utilisez l'ID du projet
Example Corp infrastructureet le nom de la configuration pour trouver l'ID de la configuration. Pour ce faire, exécutez la commande suivanteibmcloud project configspour ce faire :ibmcloud project configs \ --project-id <Example-Corp-infrastructure-project-id> \ --all-pages -
Utilisez l'ID du projet
Example Corp infrastructureet l'ID de la configurationexample-corp-us-southpour trouver les versions de cette configuration dans le projet. Exécutez la commande suivanteibmcloud project config-versionssuivante :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-southdoivent être répertoriées. La version deux est dans l'étatdeployed, tandis que la version un est dans l'étatsuperseded. 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 :
-
Validez
example-corp-us-southen exécutant la commande suivanteibmcloud project config-validatecommande suivante :ibmcloud project config-validate \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id> -
Approuver
example-corp-us-southen exécutant la commande suivanteibmcloud project config-approvecommande 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> -
Déployez
example-corp-us-southen exécutant la commande suivanteibmcloud project config-deploycommande 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.