En este tema, aprenderemos a crear una pipeline simple en Jenkins. Las pipelines son una forma poderosa de definir y automatizar procesos de construcción, prueba y despliegue. Jenkins permite definir pipelines como código, lo que facilita la gestión y la replicación de procesos.
Objetivos de Aprendizaje
- Entender los conceptos básicos de una pipeline en Jenkins.
- Crear una pipeline simple utilizando la sintaxis declarativa.
- Ejecutar y verificar la pipeline.
Conceptos Clave
Antes de comenzar, es importante entender algunos conceptos clave:
- Pipeline: Una serie de pasos que Jenkins ejecuta para construir, probar y desplegar una aplicación.
- Stage (Etapa): Una sección de la pipeline que agrupa una serie de pasos.
- Step (Paso): Una acción individual dentro de una etapa, como ejecutar un script o compilar código.
Paso 1: Crear un Nuevo Trabajo de Pipeline
- Accede al Tablero de Jenkins: Inicia sesión en tu instancia de Jenkins.
- Crear un Nuevo Trabajo:
- Haz clic en "Nuevo Item" en el menú principal.
- Introduce un nombre para tu trabajo, por ejemplo, "Pipeline-Simple".
- Selecciona "Pipeline" como tipo de proyecto.
- Haz clic en "OK".
Paso 2: Definir la Pipeline
-
Configurar la Pipeline:
- En la configuración del trabajo, desplázate hacia abajo hasta la sección "Pipeline".
- Selecciona "Pipeline script" en el campo "Definition".
-
Escribir el Script de la Pipeline:
- Introduce el siguiente script en el campo de texto:
pipeline { agent any stages { stage('Build') { steps { echo 'Building...' // Aquí puedes agregar comandos para compilar tu aplicación } } stage('Test') { steps { echo 'Testing...' // Aquí puedes agregar comandos para ejecutar pruebas } } stage('Deploy') { steps { echo 'Deploying...' // Aquí puedes agregar comandos para desplegar tu aplicación } } } }
Explicación del Script
pipeline { ... }
: Define el bloque principal de la pipeline.agent any
: Indica que la pipeline puede ejecutarse en cualquier agente disponible.stages { ... }
: Contiene todas las etapas de la pipeline.stage('Build') { ... }
: Define una etapa llamada "Build".steps { ... }
: Contiene los pasos a ejecutar en esta etapa.echo 'Building...'
: Imprime un mensaje en la consola de Jenkins.
stage('Test') { ... }
: Define una etapa llamada "Test".steps { ... }
: Contiene los pasos a ejecutar en esta etapa.echo 'Testing...'
: Imprime un mensaje en la consola de Jenkins.
stage('Deploy') { ... }
: Define una etapa llamada "Deploy".steps { ... }
: Contiene los pasos a ejecutar en esta etapa.echo 'Deploying...'
: Imprime un mensaje en la consola de Jenkins.
Paso 3: Guardar y Ejecutar la Pipeline
-
Guardar la Configuración:
- Haz clic en "Guardar" en la parte inferior de la página de configuración.
-
Ejecutar la Pipeline:
- En la página del trabajo, haz clic en "Construir ahora".
- Observa la ejecución de la pipeline en la sección "Historial de Construcción".
Verificación
- Consola de Salida:
- Haz clic en el número de la construcción en el historial.
- Selecciona "Consola de Salida" para ver los mensajes impresos por los comandos
echo
.
Ejercicio Práctico
Ejercicio 1: Modificar la Pipeline
- Objetivo: Añadir una nueva etapa llamada "Package" que imprima "Packaging...".
- Instrucciones:
- Edita el script de la pipeline para incluir la nueva etapa.
- Guarda y ejecuta la pipeline.
- Solución:
pipeline { agent any stages { stage('Build') { steps { echo 'Building...' } } stage('Test') { steps { echo 'Testing...' } } stage('Package') { steps { echo 'Packaging...' } } stage('Deploy') { steps { echo 'Deploying...' } } } }
Resumen
En este tema, hemos aprendido a crear una pipeline simple en Jenkins utilizando la sintaxis declarativa. Hemos definido varias etapas y pasos dentro de la pipeline y hemos ejecutado y verificado su funcionamiento. Este conocimiento es fundamental para automatizar procesos de CI/CD en Jenkins.
En el próximo tema, profundizaremos en la sintaxis de las pipelines y exploraremos más características avanzadas.
Jenkins: De Principiante a Avanzado
Módulo 1: Introducción a Jenkins
Módulo 2: Conceptos Básicos de Jenkins
- Visión General del Tablero de Jenkins
- Creación y Ejecución de Trabajos
- Entendiendo las Pipelines de Jenkins
- Usando Plugins de Jenkins
Módulo 3: Pipelines de Jenkins
- Pipeline como Código
- Pipelines Declarativas vs Scriptadas
- Creando una Pipeline Simple
- Sintaxis de Pipeline
Módulo 4: Pipelines Avanzadas de Jenkins
- Etapas y Pasos de Pipeline
- Ejecución Paralela en Pipelines
- Usando Variables de Entorno
- Mejores Prácticas de Pipeline
Módulo 5: Administración de Jenkins
- Gestionando Nodos de Jenkins
- Configurando Seguridad
- Respaldo y Restauración de Jenkins
- Monitoreando Jenkins
Módulo 6: Integrando Jenkins
- Integración con Sistemas de Control de Versiones
- Integración con Herramientas de Construcción
- Integración con Herramientas de Pruebas
- Integración con Herramientas de Despliegue
Módulo 7: Jenkins para Integración Continua y Entrega Continua (CI/CD)
- Entendiendo CI/CD
- Configurando una Pipeline de CI
- Configurando una Pipeline de CD
- Automatizando Despliegues
Módulo 8: Temas Avanzados de Jenkins
- Usando Jenkins con Docker
- Jenkins y Kubernetes
- Jenkins como Código con Jenkinsfile
- Escalando Jenkins