Anular una actualización mediante la CLI
Este tutorial le guiará a través de la reversión de un despliegue utilizando la CLI. Al completar este tutorial, aprenderá a revertir los cambios desplegados en una configuración de arquitectura desplegable en un proyecto. Al final de este tutorial, la configuración de su arquitectura desplegable coincidirá con la última versión desplegada con éxito.
Imagina que eres desarrollador de software para la empresa Example Corp. Su arquitecto de infraestructuras descubrió la arquitectura desplegable de automatización de la nube para Code Engine, y su profesional de ingeniería de automatización
de la nube la personalizó para satisfacer plenamente sus necesidades empresariales. Ha desplegado esa arquitectura personalizada que se llama Example Corp's infrastructure en dos regiones. Entonces, su profesional de ingeniería
de automatización de la nube lanzó una nueva versión de Example Corp's infrastructure, por lo que actualizó sus despliegues en ejecución para utilizar la última versión. Recientemente, su equipo descubrió un error en la región us-south.
El fallo es nuevo, por lo que desea revertir el despliegue de la región us-south a lo que era antes, ya que sabe que ese despliegue no incluía el fallo.
Este tutorial utiliza un escenario ficticio para ayudarle a entender cómo revertir cambios desplegados a una configuración de arquitectura desplegable en su proyecto. A medida que completes el tutorial, adapta cada paso a las necesidades de tu organización.
Antes de empezar
-
Cree una arquitectura desplegable personalizada denominada
Example Corp's infrastructuree incorpórela a un catálogo privado denominadoExample Corp catalog. -
Despliegue la infraestructura de Example Corp en dos regiones utilizando un proyecto llamado
Example Corp infrastructure. -
Actualice la infraestructura de Example Corp con una nueva versión en el catálogo privado y añada dos opciones de base de datos que sus usuarios puedan elegir. Valide la versión en el catálogo privado para que la nueva versión esté en el estado
Validated draft. -
Actualice su proyecto para utilizar la última versión de
Example Corp's infrastructuree implante los cambios.La última versión de
Example Corp's infrastructureincluye opciones de base de datos que podrían desplegarse desde su proyectoExample Corp infrastructure. Completar este tutorial no afecta a nada en su proyecto excepto a la configuración deexample-corp-us-south. Si lo necesitas, puedes desinstalar las demás configuraciones de tu proyecto por separado, incluidas las bases de datos. -
Para completar este tutorial, instale la CLI IBM Cloud.
Encontrar el ID del proyecto, el ID de la configuración y la versión a la que desea volver
Antes de poder ejecutar los comandos de la CLI para revertir los cambios a una versión previamente desplegada, necesita el ID de la configuración de example-corp-us-south y el ID del proyecto de Example Corp infrastructure que contiene la configuración.
Para encontrar estos IDs y la versión utilizando la CLI, ejecute los siguientes comandos:
-
Inicie sesión en IBM Cloud ejecutando el siguiente
ibmcloud logincomando. Si tiene varias cuentas, se le pedirá que seleccione la que desea utilizar:ibmcloud login \ --ssoUtilice la opción
--ssopara iniciar sesión a través de la consola. Si lo haces, la consola se abre en un navegador web para que te conectes. A continuación, se genera un código para que lo pegues en la CLI. -
Busque el ID del proyecto
Example Corp infrastructureen su cuenta ejecutando el siguienteibmcloud project listcomando:ibmcloud project list \ --all-pagesUtilice la opción
--all-pagespara recuperar todos los proyectos de su cuenta. -
Utilice el ID del proyecto
Example Corp infrastructurey el nombre de la configuración para encontrar el ID de la configuración. Ejecute el siguiente comandoibmcloud project configspara hacerlo:ibmcloud project configs \ --project-id <Example-Corp-infrastructure-project-id> \ --all-pages -
Utilice el ID del proyecto
Example Corp infrastructurey el ID de la configuraciónexample-corp-us-southpara encontrar las versiones de esa configuración en el proyecto. Ejecute el siguienteibmcloud project config-versionscomando:ibmcloud project config-versions \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id>Deben aparecer dos versiones de la configuración de
example-corp-us-south. La versión dos está en el estadodeployed, mientras que la versión uno está en el estadosuperseded. La versión más antigua es la primera que se desplegó. Esa es la versión a la que quieres volver.
Recupere la versión a la que desea retroceder
Ahora que tiene los IDs y la versión a la que quiere volver, ejecute el siguiente comando ibmcloud project config-version para recuperar la versión específica de example-corp-us-south. Asegúrese de incluir el parámetro para devolver la salida en formato JSON:
ibmcloud project config-version \
--project-id <Example-Corp-infrastructure-project-id> \
--id <example-corp-us-south-id> \
--version 1 \
--output json
Copie el contenido del bloque definition en la salida JSON y guárdelo en un archivo definition.json. El contenido de definition incluye los valores de entrada que proporcionó, la autorización
que utilizó para conceder al proyecto acceso para desplegar en su cuenta de destino, el nombre de su configuración y el ID de localizador para Example Corp's infrastructure que identifica la arquitectura desplegable en el catálogo
privado. Considérelo una instantánea de la versión 1 de example-corp-us-south con todas las entradas y la información que haya proporcionado en su proyecto, por ejemplo:
{
"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>"
}
Actualizar la configuración para utilizar la definición de la versión anterior
Ahora que dispone de la definición de la versión 1 de example-corp-us-south, actualice la configuración para utilizar dicha definición. Esto actualiza example-corp-us-south para que esté exactamente como lo configuró
cuando desplegó la versión 1. Ejecute el siguiente ibmcloud project config-update para 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)"
Validar, aprobar e implantar los cambios
Ahora que example-corp-us-south está actualizado para utilizar la definición de la primera versión de la configuración, es el momento de validar, aprobar y desplegar los cambios. Puede utilizar la consola para hacerlo,
o puede ejecutar los siguientes comandos CLI:
-
Valide
example-corp-us-southejecutando el siguienteibmcloud project config-validatecomando:ibmcloud project config-validate \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id> -
Apruebe
example-corp-us-southejecutando el siguienteibmcloud project config-approvecomando: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> -
Despliegue
example-corp-us-southejecutando el siguienteibmcloud project config-deploycomando:ibmcloud project config-deploy \ --project-id <Example-Corp-infrastructure-project-id> \ --id <example-corp-us-south-id>
Una vez completado con éxito el despliegue, example-corp-us-south vuelve a la primera versión de esa configuración que desplegó desde el proyecto. Su equipo puede ahora investigar el fallo y publicar una actualización en Example Corp's infrastructure si es necesario.