Pipeline as Code de Jenkins con Jenkinsfile
Defina declarativamente las etapas de compilación, pruebas y despliegue en un Jenkinsfile guardado en su repositorio, de modo que el pipeline se versiona junto con la aplicación.
Pipeline as Code de Jenkins con Jenkinsfile es una lección gratuita de Docker & DevOps Fundamentals en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Docker & DevOps Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Docker & DevOps Fundamentals incluye 4 lecciones en total.
Pipeline como código
En lugar de configurar trabajos manualmente en la interfaz de Jenkins, describa todo el pipeline en un Jenkinsfile almacenado en su repositorio. El pipeline se convierte en código: revisable, versionado y portable.
Declarativo frente a basado en scripts
Jenkins ofrece dos sintaxis. Los pipelines declarativos tienen una estructura clara y son adecuados para principiantes; los pipelines basados en scripts utilizan Groovy completo. Nos centraremos en los declarativos.
El bloque pipeline
Todo Jenkinsfile declarativo comienza con un bloque pipeline que contiene un agent (dónde se ejecuta) y stages.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}Definición de stages
Cada stage agrupa steps relacionados. Los stages aparecen como columnas en la interfaz de Jenkins, lo que proporciona una vista clara del progreso del pipeline.
stages {
stage('Build') { steps { sh 'make build' } }
stage('Test') { steps { sh 'make test' } }
}Ejecución de pasos de shell
El paso sh ejecuta un comando de shell en el agent. Úselo para compilar código, ejecutar pruebas o crear una imagen de Docker.
steps {
sh 'docker build -t myapp:${BUILD_NUMBER} .'
}Variables de entorno
Un bloque environment define variables para todos los pasos. Jenkins también expone variables integradas como BUILD_NUMBER y GIT_COMMIT.
environment {
REGISTRY = 'registry.example.com'
IMAGE = 'myapp'
}Vinculación de credenciales
Nunca incluya secretos directamente en el código. Almacénelos en las credenciales de Jenkins e incorpórelos con el helper credentials() para que aparezcan ocultos en los registros.
environment {
REG_PASS = credentials('registry-password')
}Acciones posteriores
Un bloque post se ejecuta después de que terminan los stages y actúa según el resultado. Es perfecto para las notificaciones y la limpieza.
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
always { sh 'docker image prune -f' }
}Stages en paralelo
Acelere la ejecución realizando en parallel las tareas independientes; por ejemplo, las pruebas unitarias y de integración al mismo tiempo.
stage('Tests') {
parallel {
stage('Unit') { steps { sh 'make unit' } }
stage('Integration') { steps { sh 'make int' } }
}
}Stages condicionales
La directiva when ejecuta un stage solo si se cumple una condición; por ejemplo, puede implementar únicamente desde la rama principal.
stage('Deploy') {
when { branch 'main' }
steps { sh './deploy.sh' }
}Pipelines multibranch
Indique a Jenkins un repositorio y descubrirá cada rama que contenga un Jenkinsfile, creando automáticamente un pipeline por rama. Las ramas de funcionalidades obtienen CI automáticamente.
Comprobación rápida
¿Dónde se encuentra la definición de un pipeline declarativo?
Resumen
Ha aprendido a definir pipelines como código:
pipeline { agent; stages }es la estructura básica declarativa- Los pasos
shejecutan comandos;environmentycredentials()gestionan la configuración post,parallelywhenañaden funcionalidades- Los pipelines multibranch proporcionan CI automáticamente a cada rama
El Jenkinsfile se almacena junto con su código y evoluciona con él.
Preguntas frecuentes
¿La lección «Pipeline as Code de Jenkins con Jenkinsfile» es gratis?
Sí — el texto completo de «Pipeline as Code de Jenkins con Jenkinsfile» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Docker & DevOps Fundamentals, actualiza a CoddyKit PRO. El curso de Docker & DevOps Fundamentals incluye 4 lecciones en total.
¿Qué aprenderé en «Pipeline as Code de Jenkins con Jenkinsfile»?
Defina declarativamente las etapas de compilación, pruebas y despliegue en un Jenkinsfile guardado en su repositorio, de modo que el pipeline se versiona junto con la aplicación. Practicas Docker & DevOps Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Docker & DevOps Fundamentals?
No se requiere experiencia previa. Docker & DevOps Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Pipeline as Code de Jenkins con Jenkinsfile»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Docker & DevOps Fundamentals?
Sí. Cada lección de Docker & DevOps Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Introducción a Jenkins
- Creación de imágenes de Docker con Jenkins
- Despliegue automatizado con Jenkins
- Pipeline as Code de Jenkins con Jenkinsfile