Pipeline
Información obtenida del post de:
David Muñoz Fernández - http://dmunozfer.es/tutorial-jenkins-2-configuracion-pipeline/#que-son-pipelines
Elementos básicos de un Pipeline
- Step : Tareas o comandos. Las acciones que queremos realizar como descargar un repositorio, imprimir algo etc.
- Node : Son grupos de tareas.
- Stage : Etapas en las que se divide un flujo de trabajo.
Crear un pipeline
.1 Archivo Jenkinsfile
: Debemos crear un archivo llamado Jenkinsfile
en la raíz de nuestro proyecto.
Ejemplo minimalista de un Jenkinsfile ...
#!groovy
node{
// -------------------------------
// ----- STAGE: 'Step_1'
// -------------------------------
stage 'Step_1'
echo 'Configuration Variable'
def var_1 = 'Hallo'
def var_2 = 'Welt!'
echo "var_1 '${var_1}' + var_2 '${var_2}' = '${var_1}' '${var_2}'"
sh 'rm -rf *'
checkout scm
// -------------------------------
// ----- STAGE: 'Step_2'
// -------------------------------
stage 'Step_2'
echo "Hallo, dass es ist Step2"
// -------------------------------
// ----- STAGE: 'Step_3'
// -------------------------------
stage 'Step_3'
echo "Otro mensaje"
}
.2 Crear un atarea tipo: Multibranch pipeline , indicamos el nombre de la Tarea.
.3 Dentro de la tarea recién creada:
Branch Source / Add source
= GitHubowener
= El nombre del usuario de GitHub (Ha de estar configurado en jenkins para poder tener acceso)Repository
= Seleccionar el repositorio sobre el que vamos a trabajar.Guardamos.
.4 Configurar hook en GitHub:
Vamosa GitHub dentro del repositorio Settings / Integration & Services
Add Service
= Jenkins (GitHub plugin)
.4.1 Configurar el servicio:
- La
URL
sera = http ://IP_JENKINS:8080/github-webhook/ - Pulsamos Add Service. (Podemos hacer un test también)
Funcionamiento
Ahora gracias al Hook/Servicio creado en GitHub cada vez que se actualice el repositorio se reiniciará la tarea Multibranch Pipeline .