Cómo crear pipelines declarativos en Jenkins
Clase 11 de 15 • Curso Básico de Jenkins
Contenido del curso
Clase 11 de 15 • Curso Básico de Jenkins
Contenido del curso
Jesús Mur Fontanals
Pablo Sozko
Geovanny Javier Páez García
Hanson Garzon
Augusto Gonzalez
Jeffry Hernandez
William Schnaider Torres Bermon
Jhon Jaiver Supelano Rojas
Rafael Vilches
Samir Jimenez Vivas
Juan David Cajamarca Acuña
MARIO DANIEL HIGUERA MORA
María Herlandia Copete Perea
Daniel Moreno
Paul Alarcon
Hanson Garzon
Diego Alexander Leon Duarte
Adrian Peralta
Fredy Reyes
Erika Hernández
Erika Hernández
Hanson Garzon
Augusto Gonzalez
Hanson Garzon
Gastón Rodríguez Barabasch
Rodrigo Hernández
Kevin Castellano
Jorge Armando Góngora Rojas
Obatala Salas
Diego Posada
Miguel Angel Alcocer Rojo
Hay un lorem ipsum encima del nombre del profesor 😄
irónico no ?
jajaja
Se debe poner tal cual está en el jenkinsfile la version de node ... node-11.0.0 lo tenía como 11.0.0 y me arrojaba errores...
Muy buen aporte!
Que buen aporte, me estaba fallando y era por eso.
Pipeline concepts The following concepts are key aspects of Jenkins Pipeline, which tie in closely to Pipeline syntax (see the overview below).
para que no les suceda el mismo error que me sucedió a mi que no detecta la versión de Node.
Primero debe verificar cual esta instalada o nombrada si en el archivo Jenkinsfile aparece de este modo nodejs 'node-10.19.0'
Deben ir administrar Jenkins Global Tool Configuration NodeJS instalaciones de NodeJS Donde dice nombre deben colocar el mismo nombre del Jenkins file
node-10.19.0
y en version NodeJS 10.19.0 según la versión que ya mencionaron en el archivo Jenkins file, recuerden actualizarlo del repositorio
también verifiquen que esa sea la versión instalada en la maquina anfitriona desde consola con node -v
Aquí las capturas
asi es, yo quise usar la 11.1.0 y solo cambié el 1 por el 0 como en la clase y nada, hasta que vi tu comentario y cambié el nombre de la versión de Node en Manage Jenkins --> Global Tool Configuration --> NodeJS --> NodeJS Installation y Name: node-11.1.0
pipeline { agent any tools { nodejs 'node-11.1.0' }
Basicamente un pipeline es como un Dockerfile!!!
Automatizando la automatización.
Si tienen problema en un entorno windows podrian cambiar el script para no utilizar sh sino bat:
pipeline { agent any tools { nodejs 'node-11.0.0' } options { timeout(time: 2, unit: 'MINUTES') } stages { stage('Install dependencies') { steps { bat 'cd jenkins-tests && npm i' } } stage('Run tests') { steps { bat 'cd jenkins-tests && npm t' } } } }
¡Gracias!
En este caso usan un repositorio de Gihub público. ¿Cómo seria si uso uno privado de Bitbucket?
En ese caso debes pasar los parámetros de las credenciales y si deseas el branch de la siguiente forma dentro del step: git ([url:'https://github.com/autor/repo.git', branch: 'master',credentialsId: 'github' ])
donde credentialsId : 'github' es el nombre que le diste a tus credenciales dentro de Jenkins
para medir cobertura de código estatico podemos usar SonarQube y Jacoco
Para mi caso en particular, para no tener que modificar el Jenkinsfile opté por hacer lo siguiente: Ingresé a Panel de control -> Global Tool Configuration:
"Blue Ocean" muestra el pipeline parecido al de gitlab :)
Si a alguien le sale este error
*/*
en la branch de la siguiente forma 👇
Hola! tengo el siguiente error al ejecutar:
Caused: BUG! exception in phase 'semantic analysis' in source unit 'WorkflowScript' unexpected NullpointerException
Alguien tiene idea de lo que puede estar pasando?
Me auto-respondo... cuando configuré mi nodejs dejé por error una configuración sobrante totalmente vacía (es decir, sin especificar versión de node, ni el nombre). Esto generaba un nullpointer exception al tratar de obtener las versiones configuradas :-(
Para reportes de pruebas e2e el plugin de cucumber es genial!
Cual de todos los Cucumber? Hay como 7 Cucumbers distintos. :o
Hombre el que uso se llama Cucumber Report, es muy bueno para el reporte de las pruebas e2e automatizadas
SINTAXIS BÁSICA DE UN PIPELINE DECLARATIVO Pipeline {} Identificamos dónde empieza y termina el pipeline así como los pasos que tiene Agent. Especificamos cuando se ejecuta el pipeline. Uno de los comandos más utilizados es any, para ejecutar el pipeline siempre y cuando haya un ejecutor libre en Jenkins. Stages. Bloque donde se definen una serie de estados a realizar dentro del pipeline. Stage. Bloque que define una serie de tareas realizadas dentro del pipeline, por ejemplo: Build. test, deploy, etc. Podemos utilizar varios plugins en Jenkins para visualizar el estado o el progreso de estos estados. Steps. Son todos los pasos a realizar dentro de un stage. Podemos definir uno o varios pasos. Step. Es una tarea simple dentro del pipeline. Fundamentalmente es un paso donde se le dice a Jenkins qué hacer en un momento específico o paso del proceso. Por ejemplo, para ejecutar un comando en shell podemos tener un paso en el que tengamos la línea sh ls para mostrar el listado de ficheros de una carpeta.
En mi caso, yo tenia por defecto una versión de node mas reciente que la del profesor, entonces me fui a: panel de control -> administrar jenkins -> Global tool configuration y busque NodeJS, le di en instalaciones de NodeJS... y agregue una con el nombre exacto como lo puso el profeso, es decir "node-11.0.0", escogí esa misma versión en que versión quería utilizar y guarde cambios y listo, el pipeline se ejecuto sin errores :D
Con eso pude ejecutarlo, muchas gracias
Un agente es una instancia de Jenkins
donde puedo encontrar el repositorio utilizado?
Alguien podría indicarme por favor cómo cambiar la versión de node que se tiene por la que requiere el pipeline ("node-11.0.0")? Muchas gracias
mi server jenkins siempre debe tener una IP publica verdad?