Parte 2: Configurar una cadena de herramientas CI

Este tutorial le mostrará cómo utilizar la plantilla de la cadena de herramientas para la integración continua (CI). La plantilla está preconfigurada para el despliegue continuo (CD) con integración de inventario, gestión de cambios con Git Repos and Issue Tracking, recogida de pruebas y despliegue en IBM Cloud Kubernetes Service.

Puede personalizar y gestionar de forma centralizada la configuración de IAM de las cuentas de su empresa para cumplir las normas internas y de conformidad.

Antes de empezar

  1. Completa el tutorial Configuración de requisitos previos.
  2. Vea el siguiente vídeo:

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

El servicio Continuous Delivery proporciona plantillas que le guían a través de la configuración de la cadena de herramientas y crean procesos en un orden lógico. Un indicador de progreso muestra los pasos para completar la configuración. Siga los pasos para acceder a la plantilla de la cadena de herramientas CI.

  1. En la consola ' IBM Cloud ', haz clic en el icono ' Menú ' ' Icono del menú > ' Automatización de plataformas > ' Cadenas de herramientas.
  2. En la página de cadenas de herramientas, haga clic en Crear cadena de herramientas.
  3. Haz clic en la ficha CI - Desarrollar una aplicación segura con DevSecOps.

Configurar la cadena de herramientas CI

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

  1. Pulse Iniciar.

  2. Introduzca un Nombre de cadena de herramientas único dentro de su cadena de herramientas para la misma región y grupo de recursos en el IBM Cloud.

  3. Seleccione una región.

  4. Seleccione un Grupo de recursos.

  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.

Integración de herramientas de CI

Revise la configuración predeterminada y proporcione las configuraciones definidas por el usuario siempre que sea necesario para configurar la integración de la herramienta CI.

Aplicación

  1. Seleccione Proveedor de origen como Git Repos and Issue Tracking.
  2. El comportamiento por defecto de la cadena de herramientas es Usar aplicación de ejemplo por defecto. Actualmente, la cadena de herramientas sólo permite enlazar con los repositorios existentes en Git Repos and Issue Tracking. Si utiliza su repositorio de código fuente ' aplicación / servicio propio ', consulte:
  1. Introduzca un nombre único para Nombre del nuevo repositorio.
  2. Pulse Continuar.

Inventario

El repositorio de inventario registra detalles de artefactos creados por las cadenas de herramientas de CI.

  1. Puede aceptar la configuración por defecto proporcionada en la plantilla o editar la configuración según sus necesidades.
  2. Pulse Continuar.

Problemas

El repositorio de problemas registra los problemas que se encuentran mientras se ejecuta la interconexión de AC.

  1. Puede aceptar la configuración por defecto proporcionada en la plantilla o editar la configuración según sus necesidades.
  2. Haga clic en Continuar

Secretos

Especifique las integraciones de bóvedas secretas que se añadirán a su cadena de herramientas mediante los botones. Para obtener más información, consulte Gestión de IBM Cloud secretos.

La cadena de herramientas de AC sólo da soporte a los tipos de secretos Secretos arbitrarios y Credenciales de IAM.

  1. Esta guía de aprendizaje utiliza IBM Cloud® Secrets Manager como caja fuerte para secretos. Los campos Región, Grupo de recursos y Nombre de servicio se rellenan automáticamente en función de las opciones disponibles. Seleccione los indicadores desplegables para ver las demás opciones.
  2. Introduzca su Secrets Manager nombre de instancia.
  3. Seleccione el tipo de autorización.
  4. Pulse Continuar.

Almacenamiento de pruebas

El armario de pruebas almacena todas las pruebas y artefactos generados por el proceso de CI de DevSecOps.

  1. Active el control deslizante del cubo IBM Cloud Object Storage para almacenar todas las pruebas en el cubo IBM Cloud Object Storage que se puede configurar en la página siguiente.
  2. Acepta la configuración por defecto.
  3. Pulse Continuar.

Grupo de nube Object Storage

Debe disponer de una instancia de IBM Cloud® Object Storage y un depósito de Cloud Object Storage que actúe como almacén de pruebas de cumplimiento.

  1. Los campos Cloud Object Storage instance, Bucket name y Cloud Object Storage endpoint se rellenan automáticamente.
  2. Introduzca su clave API de ID de servicio.
    • Preferido: Una clave existente se puede importar desde una caja fuerte de secretos pulsando el icono de clave.
    • Se puede copiar y pegar una clave existente.
  3. Pulse Continuar.

El campo de punto final es opcional. Se recomienda seleccionar o proporcionar el punto final durante la configuración de la cadena de herramientas o durante la ejecución del conducto.

Desplegar

Configure el clúster de Kubernetes de destino donde se despliega la aplicación.

  1. Utiliza el valor predeterminado Nombre de la aplicación hello-compliance-app.

  2. Introduzca su clave API en IBM Cloud. La clave API se utiliza para interactuar con la herramienta CLI IBM Cloud en varias tareas.

    • Preferido: Una clave existente se puede importar desde una caja fuerte de secretos pulsando el icono de clave.
    • Se puede copiar y pegar una clave existente.
    • Desde aquí se puede crear una nueva clave pulsando el botón Nuevo +.

    La clave de API recién generada se puede guardar inmediatamente en una caja fuerte de secretos.

  3. Si la clave de API es válida y tiene acceso suficiente, el Container Registry, Container Registry namespace, Dev cluster region, Resource group, Cluster name, Cluster namespace se rellenan automáticamente. Puede modificar cualquiera de estos campos para adaptarlos a su configuración.

  4. Pulse Continuar.

Firma de artefacto

Los artefactos son construidos por la cadena de herramientas y registrados en el inventario debe ser firmado antes de desplegar a la producción.

  1. Introduzca la GnuPG. También puede crear una nueva clave GPG haciendo clic en NUEVA. Para obtener más información, consulte Generación de una clave GPG.
  2. Pulse Continuar.

DevOps Insights

El IBM Cloud DevOps Insights está incluido en la cadena de herramientas. Vea los resultados de prueba de conducto para cada compilación, desde cada despliegue y entorno.

  1. Acepta la configuración por defecto.
  2. Pulse Continuar.

SonarQube

Configurar SonarQube como la herramienta de análisis de código estático para la cadena de herramientas. SonarQube ofrece una visión general del estado general y de la calidad del código fuente e identifica los problemas del nuevo código. Los analizadores estáticos de código detectan errores complicados, como desviaciones de puntero nulo, errores lógicos y fugas de recursos en varios lenguajes de programación.

  1. Acepte la configuración por defecto.
  2. Pulse Continuar.

Herramientas opcionales

Slack

Configura Slack para recibir notificaciones sobre tus pull requests o eventos del CI pipeline. También puede añadir la herramienta Slack después de crear 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 https://team.slack.com, el nombre del equipo es team.
  4. Elige los eventos para los que quieres recibir notificaciones Notificaciones automáticas de Slack.
  5. Pulse Continuar.

Creación de la cadena de herramientas de integración continua

  1. En la página Resumen, pulse Crear cadena de herramientas.
  2. Espera a la creación de la cadena de herramientas. Este proceso puede durar unos minutos.

Explore la cadena de herramientas de integración continua

La cadena de herramientas CI contiene ci-pr-pipeline (PR) y ci-pipeline (CI). Estas canalizaciones se activan cuando se envía una nueva solicitud de fusión o se fusiona con master en el repositorio de la aplicación.

Sigue los pasos para acceder a tu cadena de herramientas:

  1. En la consola ' IBM Cloud ', haz clic en el icono ' Menú ' ' Icono del menú > ' Automatización de plataformas > ' Cadenas de herramientas.
  2. En la página de cadenas de herramientas, haga clic en Crear cadena de herramientas.
  3. Haga clic en su cadena de herramientas para ver la salida como se muestra en el siguiente artefacto.

caption-side=bottom"
DevSecOps Cadena de herramientas CI Cadena de herramientas CI DevSecOps

Ejecute la interconexión de integración continua o solicitud de extracción

Para iniciar ci-pr pipeline, debe crear una solicitud de fusión en el repositorio de su aplicación.

  1. En la página de la cadena de herramientas CI, haga clic en la ficha ci-pr pipeline. Por defecto, se crea con el nombre compliance-app-<timestamp>.

  2. Crear una rama a partir de la rama maestra.

  3. Actualiza el código de la aplicación o añade un archivo Léame y guarda los cambios.

  4. Haga clic en Enviar solicitud de fusión.

  5. En la página de la cadena de herramientas CI, haga clic en el mosaico pr-pipeline. Comprueba que el ci-pr pipeline se activa con la creación de la solicitud de fusión.

  6. Espere a que finalice la ejecución de ci-pr pipeline. La solicitud de fusión correspondiente que se encuentra en el repositorio de su aplicación está en el estado Pending hasta que todas las etapas de la tubería PR terminan con éxito.

  7. Una vez que se haya ejecutado correctamente la canalización PR, haga clic en la canalización para explorar los numerosos pasos que se han completado y para ver la página.

    caption-side=bottom"
    DevSecOps Éxito de la cadena de relaciones públicas Éxito de la cadena de relaciones públicas DevSecOps

  8. Accede a la Solicitud de fusión para fusionar la solicitud y que tus cambios se copien en la rama maestra del repositorio de tu aplicación.

Ejecución de la interconexión de integración continua

Inicie la interconexión de AC de una de las maneras siguientes:

  • Automáticamente: después de una interconexión de solicitud de extracción satisfactoria, aprobando y fusionando la solicitud de extracción en la rama maestra.
  • Manualmente: Para activar manualmente el proceso CI, seleccione la tarjeta Delivery Pipeline, haga clic en Ejecutar proceso y seleccione Activación manual.

En este tutorial, la canalización CI se activó después de fusionar los cambios de código en la rama maestra del repositorio de la aplicación.

  1. En la página de la cadena de herramientas CI, haga clic en el mosaico ci-pipeline.

  2. Haga clic en Ejecutar junto al nombre de su canalización. Observe que se está ejecutando una canalización. Espere a que finalice la ejecución de la tubería.

  3. Después de que la ejecución de la tubería de CI sea exitosa, haga clic en la tubería para explorar los pasos completados para ver la página como se muestra en la captura de pantalla.

    caption-side=bottom"
    DevSecOps Tubería CI Éxito DevSecOps Tubería CI

  4. Haga clic en la ficha DevOps Insights para revisar las pruebas recopiladas en la página Panel de calidad, como se muestra en la captura de pantalla.

    caption-side=bottom"
    DevSecOps CI Evidence DevSecOps CI evidence

    También puede revisar las pruebas si se habilita la opción « IBM Cloud Object Storage » durante la configuración. Para evaluar si tiene algún fallo en la ejecución de su pipeline, necesita comprobar el paso final de su pipeline, que tiene un evaluador de pipeline.

Visualización de la aplicación en ejecución

Después de una ejecución satisfactoria de un conducto de AC, la aplicación de ejemplo se despliega en el clúster de Kubernetes.

La aplicación URL se encuentra al final del registro del paso run stage de la tarea deploy-dev de la ejecución de la tubería CI. Utilice ese URL para verificar que la aplicación se está ejecutando.

Personalización de interconexión

Los distintos pipelines que se proporcionan en las cadenas de herramientas de integración continua y despliegue continuo de referencia se basan en la compatibilidad de Continuous Delivery con Tekton Pipelines. Para obtener más información sobre la personalización de la canalización, consulte ¿Cómo personaliza un usuario la canalización?

Próximos pasos

Ha creado correctamente una DevSecOps, ha ejecutado ci-pr pipeline y ci-pipeline para compilar, probar y desplegar sus cambios en el entorno de desarrollo. Ahora está listo para explorar a Configurar una cadena de herramientas de CD.