Vea una breve introducción a la CI de GitLab en este video informativo. Ideal para principiantes y quienes buscan comprender mejor la CI de GitLab.
Inicio rápido de la integración continua de GitLab
Le damos la bienvenida a la guía de inicio rápido de la CI de GitLab, en la que se le explicará el proceso de configuración de un proyecto en GitLab y cómo crear una configuración de CI básica en el código. Esta guía le permitirá iniciar rápidamente su experiencia con la CI de GitLab.
En esta guía de inicio rápido se describirán las siguientes tareas:
- - Crear un nuevo proyecto
- - Elaborar una configuración inicial de CI/CD y ejecutar el pipeline
- - Acceder a los resultados de la ejecución y revisarlos
- - Introducir condiciones basadas en reglas para determinar las ejecuciones de jobs
- - Usar plantillas de pipelines para conseguir una integración perfecta de las configuraciones beneficiosas
Integración continua: antes de empezar
Dentro de un proyecto, se gestionan varios componentes, como su código base, configuración de CI, planificación, análisis y miembros del equipo. En esta guía, crearemos un nuevo proyecto con una pizarra en blanco, que solo contiene un archivo README.
- Para crear un nuevo proyecto, haga clic en el ícono del signo más situado a la derecha de la barra superior y seleccione Nuevo proyecto/repositorio.
- Seleccione Crear proyecto en blanco. En «Nombre del proyecto», escriba my-project.
- Haga clic en Crear proyecto.
- ¡Felicitaciones! Creó correctamente su primer proyecto.
Creación del archivo de configuración
Definición de las etapas del pipeline
stages: - build - test - package
Definición de los jobs del pipeline
Definición de un job de compilación
build-job: stage: build script: - echo "Hello " | tr -d "\n" > file1.txt - echo "world" > file2.txt - cat file1.txt file2.txt > compiled.txt artifacts: paths: - compiled.txt
Definición de un job de prueba
test: stage: test script: cat compiled.txt | grep -q 'Hello world '
Definición de un job de empaquetado
package: stage: package script: cat compiled.txt | gzip > packaged.gz artifacts: paths: - packaged.gz
El pipeline completo debería verse así
stages: # Lista de etapas para los jobs y su orden de ejecución - build - test - package build-job: stage: build script: - echo "Hello " | tr -d "\n" > file1.txt - echo "world" > file2.txt - cat file1.txt file2.txt > compiled.txt artifacts: paths: - compiled.txt test: stage: test script: cat compiled.txt | grep -q 'Hello world' package: stage: package script: cat compiled.txt | gzip > packaged.gz artifacts: paths: - packaged.gz
En este enlace encontrará el archivo de configuración en nuestro proyecto de ejemplo.
¡Felicitaciones! Creó su primer pipeline de CI.
Para activar la integración continua (CI) dentro de nuestro proyecto, debemos enviar el archivo .gitlab-ci.yml al repositorio. Una vez que este archivo se encuentre en la raíz del repositorio, cada confirmación que se realice en el proyecto iniciará automáticamente un pipeline de CI. El pipeline inicial comenzará inmediatamente después de hacer push a este archivo y enviarlo al servidor.
- Haga clic en el ícono Fusionar ubicado a la izquierda del explorador de archivos.
- Escriba un mensaje de confirmación como «Agrego configuración de CI».
- Haga clic en Confirmar y hacer push.
- Cuando vea el mensaje «¿Quiere confirmar en una nueva rama?», seleccione «No, usar la rama principal actual».
- Para volver a su proyecto, haga clic en el botón Ir al proyecto situado en la parte inferior izquierda.
¡Felicitaciones! Su proyecto ahora se configuró para iniciar automáticamente un pipeline de CI para cada confirmación de código.
Mientras el pipeline se está ejecutando, puede supervisar el estado del mismo en la pestaña CI/CD. Esta funcionalidad le permite realizar un seguimiento sencillo del progreso de sus jobs, incluido su estado de ejecución (por ejemplo, si se iniciaron, aprobaron, fallaron, etc.), así como cualquier resultado generado por los scripts de job.
- Diríjase al proyecto de GitLab y busque el menú de la izquierda.
- Haga clic en CI/CD en el menú y luego haga clic en Pipelines.
- En la página Pipelines, busque el botón Pipeline en la columna Estado. Haga clic en ese botón para abrir el gráfico del pipeline.
- Ahora, puede observar los jobs y sus respectivos estados dentro del gráfico del pipeline.
- Para explorar un job específico, haga clic en él para abrir la consola del job. Esta consola muestra todos los pasos ejecutados en la máquina Runner.
- Abra la consola del job de empaquetado para ver los pasos que procesó el runner.
- El job de empaquetado genera un artefacto que puede descargar haciendo clic en el botón de descarga ubicado a la derecha.
- Al seguir estos pasos, puede realizar un seguimiento efectivo del estado del pipeline, inspeccionar los detalles del job y recuperar cualquier artefacto o paquete relevante producido durante la ejecución del pipeline.
Felicitaciones por ejecutar con éxito su primer pipeline. ¡El pipeline se ejecutó correctamente! Ahora ya vio los resultados y descargó el artefacto del job.
Cambiaremos el valor esperado en el job de prueba, este fallará y todo el pipeline fallará.
- Edite el job de prueba y modifique la frase «Hello World» a «hello world» (con letras minúsculas).
- Confirme los cambios de código y proceda a ver el pipeline, como lo hizo en el paso 4.
- Al analizar el pipeline, observará que el job de prueba falló. Además, el job de empaquetado posterior no se inició, y el pipeline en sí falló como se esperaba.
En el paso 5 vimos que la falla del job hizo que todo el pipeline fallara. Siga los pasos que se indican a continuación para introducir una lógica en su pipeline que determine cuándo la falla de un job provocará que todo el pipeline falle:
- Evalúe las condiciones en las que desea que una falla del job provoque una falla del pipeline. Por ejemplo, quizás desee provocar la falla del pipeline si un job falla en la rama principal o en una rama predeterminada, pero al mismo tiempo permitir que las fallas del job en otras ramas no interrumpan el pipeline.
- Defina reglas que rijan el comportamiento de las fallas. Puede aprovechar variables como $CI_COMMIT_BRANCH para verificar la rama actual y tomar decisiones basadas en ella.
- Establezca las condiciones apropiadas y especifique si el job debe marcarse como allow_failure: false o allow_failure: true.
Cómo
- Agregue reglas o condiciones if a su job de prueba.
- Utilice la palabra clave allow_failure establecida en true o false según la rama.
test: stage: test script: cat compiled.txt | grep -q 'Hello world' rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH allow_failure: false - if: $CI_COMMIT_BRANCH allow_failure: true
Para optimizar la configuración del pipeline, puede aprovechar las plantillas de pipeline integradas proporcionadas por GitLab. Estas plantillas ofrecen configuraciones predefinidas para casos de uso común, como análisis de seguridad, implementaciones de AWS, etc.
Siga estos pasos para utilizar las plantillas de pipelines integradas:
- Explore las plantillas de pipeline disponibles que ofrece GitLab para varios escenarios, como compilación, prueba, implementación y mucho más. Puede encontrar estas plantillas aquí.
- Seleccione la plantilla que se alinee con sus requisitos.
- Incorpore la plantilla en su configuración del pipeline y haga referencia a ella en su archivo.gitlab-ci.yml. Para hacerlo, por lo general, puede importar la plantilla con la palabra clave include y especificar la ruta o la URL del archivo de la plantilla.
En esta guía, agregaremos el análisis de calidad del código a nuestra configuración mediante la plantilla Code-Quality.
- Incluya la plantilla de calidad del código en su archivo .gitlab-ci.yml agregando este código debajo del bloque de etapas.
include: - template: Jobs/Code-Quality.gitlab-ci.yml #
Notará que se agregó un job de calidad del código a su pipeline. El escáner de Code Quality analizará a fondo cualquier cambio en el código que se haya confirmado en este repositorio y proporcionará comentarios valiosos, destacando cualquier problema de calidad del código que requiera atención y mejora. Esta valiosa información le permite mejorar la calidad general de su código base y optimizar su rendimiento.
¡Eso es todo! Con estos pasos, debería poder comenzar a usar la CI de GitLab y a automatizar los procesos de compilación y prueba de su proyecto.
Próximos pasos
Tudo pronto para começar?
Descubra o que sua equipe pode fazer com a mais abrangente plataforma DevSecOps com tecnologia de IA.