Como desarrollador, deberá integrar de forma continua el código de un repositorio de GitHub o un repositorio de GitLab Enterprise. Cada vez que los desarrolladores actualizan el código y confirman los cambios en el repositorio, vRealize Automation Code Stream puede estar atento a esos cambios y activar la canalización.

El flujo de trabajo de una protección de código en una aplicación implementada en un clúster de Kubernetes puede utilizar GitHub, Code Stream, Docker Hub, el activador de Git y Kubernetes.

Para que vRealize Automation Code Stream active la canalización cuando se produzcan cambios en el código, utilice el activador de Git. Luego, vRealize Automation Code Stream activa la canalización cada vez que confirme cambios en el código.

Para compilar el código, se utilizará un host de Docker. Como herramientas de marco de pruebas se utilizará JUnit y JaCoCo, las cuales ejecutan pruebas de unidad y cobertura de código, y que se incluirán en la canalización.

A continuación, se puede usar la plantilla de canalización inteligente de integración continua que crea una canalización de integración continua que compila, prueba e implementa el código en el clúster de Kubernetes del equipo del proyecto en AWS. Para almacenar los artefactos de dependencia de código para la tarea de integración continua, lo que puede ahorrar tiempo en las compilaciones de código, puede usar una memoria caché.

En la tarea de canalización que compila y prueba el código, se pueden incluir varios pasos de integración continua. Estos pasos pueden residir en el mismo directorio de trabajo en el que vRealize Automation Code Stream clona el código fuente cuando se activa la canalización.

Para implementar el código en el clúster de Kubernetes, puede utilizar una tarea de Kubernetes en la canalización. A continuación, debe habilitar y ejecutar la canalización. A continuación, deberá realizar un cambio en el código del repositorio y observar el activador de la canalización. Para supervisar las tendencias de la canalización después de que se ejecute la canalización e informar sobre ellas, use los paneles de control.

El siguiente diagrama de flujo muestra el flujo de trabajo que puede realizar si utiliza una plantilla de canalización inteligente para crear la canalización o compilarla manualmente.

Figura 1. Flujo de trabajo que utiliza una plantilla de canalización inteligente o crea una canalización manualmente
El flujo de trabajo le ayuda a decidir su ruta de acceso a través del proceso que integra continuamente el código mediante una canalización de integración continua.

En el siguiente ejemplo, para crear una canalización de integración continua que integre continuamente el código en la canalización, utilice la plantilla de canalización inteligente de integración continua.

De manera opcional, puede crear manualmente la canalización, y agregarle etapas y tareas. Para obtener más información sobre la planificación de una compilación de integración continua y la creación manual de la canalización, consulte Planificar una compilación nativa de CICD en vRealize Automation Code Stream antes de agregar tareas manualmente.

Requisitos previos

Procedimiento

  1. Asegúrese de cumplir los requisitos previos.
  2. Para crear la canalización mediante la plantilla de canalización inteligente, abra la plantilla de canalización inteligente de integración continua y rellene el formulario.
    1. Haga clic en Canalizaciones > Nueva canalización > Plantilla inteligente > Integración continua.
    2. Responda las preguntas de la plantilla sobre el repositorio de código fuente, los conjuntos de herramientas de compilación, la herramienta de publicación y el área de trabajo de la imagen de compilación.
    3. Agregue notificaciones de Slack o de correo electrónico para el equipo.
    4. Para que la plantilla de canalización inteligente cree la canalización, haga clic en Crear.
    5. Para realizar cambios adicionales en la canalización, haga clic en Editar, realice los cambios y haga clic en Guardar.
    6. Habilite la canalización y ejecútela.
  3. Para crear la canalización de forma manual, agregue etapas y tareas al lienzo e incluya la información de compilación nativa de integración continua en la tarea de integración continua.
    1. Haga clic en Canalizaciones > Nueva canalización > Lienzo en blanco.
    2. Haga clic en la etapa y, a continuación, arrastre las diversas tareas de integración continua desde el panel de navegación hasta la etapa.
    3. Para configurar la tarea de integración continua, haga clic en ella y, a continuación, haga clic en la pestaña Tarea.
    4. Agregue los pasos que integran el código de forma continua.
    5. Incluya las rutas de los artefactos de dependencia.
    6. Agregue la ubicación de exportación.
    7. Agregue las herramientas de marco de pruebas que utilizará.
    8. Agregue el host de Docker y la imagen de compilación.
    9. Agregue el registro de contenedor, el directorio de trabajo y la memoria caché.
    10. Guarde la canalización y, a continuación, habilítela.
  4. Realice un cambio en el código del repositorio de GitHub o el repositorio de GitLab.
    El activador Git activará la canalización, la cual comenzará a ejecutarse.
  5. Para comprobar que el cambio de código activó la canalización, haga clic en Activadores > Git > Actividad.
  6. Para ver la ejecución de la canalización, haga clic en Ejecuciones y compruebe que los pasos crearon y exportaron la imagen de compilación.
    La ejecución de la canalización muestra la ruta de los artefactos conservados y el valor de la imagen exportada.
  7. Para supervisar el panel de control de la canalización a fin de realizar un seguimiento de los KPI y las tendencias, haga clic en Paneles de control > Paneles de control de canalizaciones.

Resultados

Enhorabuena. Ha creado una canalización que integra continuamente el código de un repositorio de GitHub o un repositorio de GitLab en la canalización e implementa la imagen de compilación.

Qué hacer a continuación

Para obtener más información, consulte Más recursos para desarrolladores y administradores de vRealize Automation Code Stream.