Parte 3: Configurar una cadena de herramientas de CD

Con este tutorial, puede utilizar la plantilla de cadena de herramientas para el despliegue continuo (CD). La plantilla está preconfigurada con los ajustes. Puede validar y proporcionar su configuración para completar el tutorial.

Antes de empezar

  1. Completa Configuración de los requisitos previos.
  2. Completar Configuración de una cadena de herramientas CI.
  3. Vea el siguiente vídeo:

  1. Consulte, las DevSecOps para desplegar una aplicación de CD segura.

Inicie la configuración de la cadena de herramientas de entrega continua

El servicio Continuous Delivery proporciona plantillas que le guían a través de la configuración de la cadena de herramientas de CD. Siga los pasos para acceder a la plantilla de la cadena de herramientas de CD.

  1. Desde ' consola IBM Cloud, haga clic en el icono ' Menú ' ' Icono del menú > ' Automatización de plataformas > ' Cadenas de herramientas.
  2. En la página Cadenas de herramientas, pulse Crear cadena de herramientas.
  3. Haga clic en la ficha CD - Despliegue de una aplicación segura con DevSecOps para ver la plantilla.

Configurar la cadena de herramientas

La página Bienvenida resume el propósito de la cadena de herramientas junto con punteros a la documentación y materiales relacionados.

  1. Pulse Iniciar.

  2. Introduzca un único Nombre de la cadena de herramientas. Tenga en cuenta que la región de la cadena de herramientas puede diferir de la región del clúster y de Container Registry.

  3. Seleccione una región y Seleccione un grupo de recursos aparecen en la lista. Nota que puedes editar las regiones.

  4. Opcionalmente puedes Elegir la cadena de herramientas de integración continua (CI) asociada desde el desplegable. Esto copia parte de la configuración de CI para ayudar en la configuración de la cadena de herramientas de CD. Nota esto podría sobrescribir algunos de los valores que ya has introducido.

  5. Pulse Continuar.

    Sólo puede avanzar al paso siguiente una vez completada y validada la configuración del paso actual. Siempre puede hacer clic en Atrás para ver los pasos anteriores en el instalador guiado. El instalador de la cadena de herramientas conserva todos los valores de configuración de los pasos sucesivos.

    Algunos pasos incluyen un botón Cambiar a configuración avanzada. Estos pasos le presentan por defecto la configuración mínima. Sin embargo, los usuarios avanzados que necesiten un control más preciso pueden hacer clic en el conmutador Cambiar a configuración avanzada para ver las opciones de la integración subyacente.

Configuración de las integraciones de herramientas

Si ya se ha vinculado a una cadena de herramientas de CI existente en el paso, se rellenarán previamente el nombre de la cadena de herramientas, la región, los repositorios y otros campos. Revise los URL de repositorio y, a continuación, continúe con los pasos siguientes.

Inventario

  1. Seleccione el Repository URL e del repositorio de inventario configurado en su cadena de herramientas de CI.
  2. Pulse Continuar.

Problemas

  1. Seleccione el Repositorio de URL, para registrar los problemas mientras se ejecuta el proceso de CD. Nota que utilizas un repositorio de issues existente que fue creado durante la cadena de herramientas CI.
  2. Pulse Continuar.

Configuración de la canalización

El repositorio de configuración del pipeline contiene archivos YAML y scripts necesarios para el despliegue, las pruebas y otras tareas personalizadas.

  1. Acepte la configuración predeterminada para Proveedor de origen.

    Si no tiene un repositorio de configuración, habilite el conmutador Configuración avanzada y seleccione el tipo Clonar repositorio. La cadena de herramientas clona la configuración de muestra en su organización de Git. Para obtener más información sobre los repositorios de Git, consulte Configuración de su Git Repos and Issue Tracking. Para obtener más información sobre los scripts personalizables, consulte Scripts personalizados.

  2. Introduzca un Nombre del nuevo repositorio único.

  3. Pulse Continuar.

Secretos

  1. Este tutorial utiliza IBM Cloud® Secrets Manager como almacén de secretos. Los campos Región, Grupo de recursos y Nombre del servicio se rellenan automáticamente en función de las opciones disponibles. Haz clic en los indicadores desplegables para ver las demás opciones.
  2. Escriba su Secrets Manager nombre de instancia.
  3. Seleccione el tipo de autorización en la lista desplegable.
  4. Pulse Continuar.

Almacenamiento de pruebas

  1. Seleccione un Repositorio de armario de pruebas existente.
  2. Seleccione el Repository URL, que se creó cuando configuró la cadena de herramientas de integración continua (CI). Para obtener más información sobre el almacenamiento de pruebas, consulte Pruebas.
  3. Active el control deslizante del cubo IBM Cloud Object Storage para almacenar todas las pruebas en el cubo IBM Cloud Object Storage.
  4. Pulse Continuar.

Grupo de nube Object Storage

  1. Verifique y acepte los detalles IBM Cloud Object Storage rellenados automáticamente. Para obtener más información sobre la configuración de un bucket que pueda actuar como almacén de pruebas de cumplimiento, consulte Configuración de Object Storage para almacenar pruebas.
  2. Proporcione su clave API de servicio para escribir en una instancia IBM Cloud Object Storage.
  3. Pulse Continuar.

Firma de artefactos

  1. Opcionalmente, introduzca Certificado de firma de código para verificar la validez de las firmas de los artefactos. Por ejemplo, Docker que son construidos y firmados por la tubería CI antes de ser desplegados en producción.
  2. Pulse Continuar.

Destino de despliegue

  1. Acepte la opción Single cluster (push based deployment) para desplegar su aplicación en destinos como Virtual Server Instance o personalice el proceso de despliegue, utilice la opción Custom.
  2. Haga clic en Continuar para ver la página del clúster.
  3. Introduzca el campo IBM Cloud API Key para interactuar con la herramienta CLI en varias tareas. Nota se puede importar una clave existente desde un almacén de secretos haciendo clic en el icono de la clave.
  4. Compruebe los campos Región del clúster, Grupo de recursos, Nombre del clúster y Espacio de nombres del clúster donde se crea el clúster de destino.
  5. Pulse Continuar.

Gestión de solicitudes de cambio

  1. Acepte los valores rellenados para la gestión de solicitudes de cambio. Para obtener más información, consulte Automatización de la gestión de cambios.
  2. Introduzca un Nombre del nuevo repositorio único.
  3. Establezca el Propósito del entorno de destino como Production.
  4. Establezca el Detalle Entorno de destino.
  5. Pulse Continuar.

DevOps Insights cadena de herramientas

Vincula una instancia DevOps Insights existente de otra cadena de herramientas a esta canalización, de modo que todos los registros de compilación, despliegue y prueba de las canalizaciones de las cadenas de herramientas de CI y CD puedan recopilarse en el mismo lugar.

La cadena de herramientas de CD puede publicar los registros de despliegue en una instancia DevOps Insights existente. Para activar esta función, proporcione el ID de la cadena de herramientas que contiene la instancia DevOps Insights existente seleccionando en la lista de ID de cadenas de herramientas DevOps Insights.

El IBM Cloud DevOps Insights está incluido en la cadena de herramientas. Vea los resultados de las pruebas de cada compilación, de cada implementación y entorno.

  1. Proporcione su DevOps Insights IBM Cloud API Key.
  2. Acepta la configuración por defecto.
  3. Pulse Continuar.

Herramientas opcionales

Slack

Configura el Slack para recibir notificaciones sobre tus pull requests, o eventos del CI pipeline. También puede añadir la herramienta Slack después de la creación de la cadena de herramientas.

  1. Introduzca su webhook de Slack. Para obtener más información, consulte Slack webhook.
  2. Introduce tu Canal de Slack para publicar el mensaje.
  3. Introduce el Nombre del equipo de la banda. Por ejemplo, si su equipo URL es https://team.slack.com, el nombre del equipo es team.
  4. Escogiendo Notificaciones Slack Automatizadas para los eventos de los que quieres recibir notificaciones.
  5. Pulse Continuar.

Opcionalmente, puede alternar el envío de notificaciones con la propiedad de entorno slack-notifications en su canalización de CD utilizando 0 = off, and 1 = on.

Creación de la cadena de herramientas de entrega continua

Las integraciones individuales de la cadena de herramientas pueden configurarse tras la creación de la canalización.

  1. En la página Resumen, haga clic en Crear cadena de herramientas y espere a que se cree la cadena de herramientas.

caption-side=bottom"
DevSecOps CD toolchain created DevSecOps CD toolchain created

Explore la cadena de herramientas de entrega continua

  1. Ahora que se ha creado la cadena de herramientas de CD, haga clic en la ficha cd-pipeline para abrir y ejecutar la cadena de promoción.

Ejecute la interconexión de promoción

Asegúrese de que la canalización CI se ha ejecutado correctamente antes de ejecutar la canalización de promoción.

  1. Haga clic en cd-pipeline.

  2. Haga clic en Ejecutar para Disparador de promoción manual.

  3. Haga clic en Ejecutar para activar la canalización.

  4. Haga clic en Disparador de promoción manual > #1promotion-pipelinerun tubería. Espere a que finalice la ejecución de la tubería de promoción y compruebe el registro de ejecución.

    El proceso de promoción crea una solicitud de extracción con el contenido del inventario en el entorno de origen del inventario, como la rama master, dirigida a la rama del entorno de destino del inventario, como staging o production.

  5. Una vez que el proceso de promoción finaliza correctamente, el registro de tareas de promote proporciona un enlace a la solicitud de extracción en el repositorio de inventario. El nombre de la solicitud de extracción tiene el formato promote <inventory source environment> to <inventory target environment>, por ejemplo, promote master to prod

  6. Abra la solicitud de extracción en su navegador con el enlace proporcionado en el registro. Complete los datos de las secciones siguientes:

    • Prioridad: (obligatoria) establecida como Critical, High, Moderate, Low, o Planning.
    • Cesionario de la solicitud de cambio: (obligatorio) Email-ID del cesionario.
    • Descripción adicional: Descripción sobre los cambios en la aplicación.
    • Propósito/Objetivo: Propósito de los cambios que se realizan en la aplicación.
    • Explicación del impacto: Impacto del cambio en el comportamiento o entorno de la aplicación.
    • Plan de retirada: Pasos a seguir si se produce un fallo en la implantación.
  7. Rellene los campos de la solicitud de extracción y guárdela.

  8. Añade la etiqueta EMERGENCY a tu pull request si falló alguna comprobación de conformidad en CI y quieres continuar con el despliegue

  9. Fusione la solicitud de extracción de Git Repos and Issue Tracking.

Los detalles del pull request se utilizan durante el pipeline CD que se ejecuta para crear y actualizar en el repositorio de peticiones de cambio.

Ejecución de la interconexión de entrega continua

Puede activar un canal de CD de forma manual o automática. Puede activar el canal de CD manualmente en cualquier momento, pero si no hay cambios desde el último despliegue con éxito, el canal de CD se detiene antes de tiempo ya que no hay nada que desplegar. Puede añadir y utilizar force-redeploy variable para volver a ejecutar el CD sin cambios de código. Ver la captura de pantalla exitosa de la tubería de CD de DevSecOps.

caption-side=bottom"
DevSecOps CD pipeline successful DevSecOps CD pipeline successful

Puede encontrar la aplicación de ejemplo que se ejecuta en el espacio de nombres de producción. La aplicación URL se encuentra en el registro del subpaso run stage del paso prod deployment de la ejecución de la tubería de CD. Utilice ese URL para verificar que la aplicación se está ejecutando.

Próximos pasos

Ha creado correctamente una cadena de herramientas de CD DevSecOps, ha ejecutado el cd-pipeline para activarlo manualmente en el entorno de producción.

Ahora, continúa con Configurar una cadena de herramientas CC.