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

  1. Cree una arquitectura desplegable personalizada denominada Example Corp's infrastructure e incorpórela a un catálogo privado denominado Example Corp catalog.

  2. Despliegue la infraestructura de Example Corp en dos regiones utilizando un proyecto llamado Example Corp infrastructure.

  3. 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.

  4. Actualice su proyecto para utilizar la última versión de Example Corp's infrastructure e implante los cambios.

    La última versión de Example Corp's infrastructure incluye opciones de base de datos que podrían desplegarse desde su proyecto Example Corp infrastructure. Completar este tutorial no afecta a nada en su proyecto excepto a la configuración de example-corp-us-south. Si lo necesitas, puedes desinstalar las demás configuraciones de tu proyecto por separado, incluidas las bases de datos.

  5. 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:

  1. Inicie sesión en IBM Cloud ejecutando el siguiente ibmcloud login comando. Si tiene varias cuentas, se le pedirá que seleccione la que desea utilizar:

    ibmcloud login \
        --sso
    

    Utilice la opción --sso para 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.

  2. Busque el ID del proyecto Example Corp infrastructure en su cuenta ejecutando el siguiente ibmcloud project list comando:

    ibmcloud project list \
        --all-pages
    

    Utilice la opción --all-pages para recuperar todos los proyectos de su cuenta.

  3. Utilice el ID del proyecto Example Corp infrastructure y el nombre de la configuración para encontrar el ID de la configuración. Ejecute el siguiente comando ibmcloud project configs para hacerlo:

    ibmcloud project configs \
        --project-id <Example-Corp-infrastructure-project-id> \
        --all-pages
    
  4. Utilice el ID del proyecto Example Corp infrastructure y el ID de la configuración example-corp-us-south para encontrar las versiones de esa configuración en el proyecto. Ejecute el siguiente ibmcloud project config-versions comando:

    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 estado deployed, mientras que la versión uno está en el estado superseded. 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:

  1. Valide example-corp-us-south ejecutando el siguiente ibmcloud project config-validate comando:

    ibmcloud project config-validate \
        --project-id <Example-Corp-infrastructure-project-id> \
        --id <example-corp-us-south-id>
    
  2. Apruebe example-corp-us-south ejecutando el siguiente ibmcloud project config-approve comando:

    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. Despliegue example-corp-us-south ejecutando el siguiente ibmcloud project config-deploy comando:

    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.