Felipe Jurado Murillo
Carlos Enrique Ramírez Flores
Liza Pamela Luque Flores
Jose Maldonado
Pablo Pelaez
David Carrasquilla
Esteban Martini
DMT Technology
Josué Chilón
Roger Vilà
Adan Virrey
Kevin Morales
Andi Antopher
Augusto Gonzalez
David Carrasquilla
Marcos Aguirre Miñarro
Juan Diego Alvarado
Bryan Antonio Alvarado Villalobos
Harold Adrian Bolanos Rodriguez
DAVID JULIAN MARTINEZ LUENGAS
Jericsson Jesus Carvajal Guerrero
Hector Eduardo Alarcon Sanchez
Ivan Toro
James David Contreras García
Diego Forero
Team PlatziWilliam Schnaider Torres Bermon
Johny Jiménez
Hector German Paramo Urrea
Jeffrey Torres
fabian miliani
Johny Jiménez
Felipe Jurado Murillo
Erickson Quintana
Erickson Quintana
Tulio Roberto Morales Rubio
Primero instalamos el plugin Parameterized Trigger, igual cómo instalamos anteriormente y reiniciamos.
Luego vamos a crear 2 jobs nuevos: watchers: En este job, vamos a configure y vamos a “Build after other projects are built” y escribimos y escribimos hello-platzi, sí hello-platzi es successful, quiero que se ejecute watchers. Y en la parte de executed shell, escribimos : echo “Running after hello-platzi success” y guardamos. parameterized: Acepta parámetros cuando lo llamo. Marcamos la opción “ This project is parameterized” y en el name escribimos ROOT_ID. Y en el execute shell: echo “calle with $ROOT_ID” y guardamos.
Y en hello-platzi, en Downstream project, y estos se añaden cuando jenkins se da cuenta que su job tiene una dependencia con otro. Vamos al configure de hello-platzi y en el execute shell escribimos: echo “Hello Platzi from $NAME” Y añadir un build step que se llama : “Trigger/call build on other projects”, y en projects to build escribimos parameterized y le damos en añadir parámetros, luego parámetros predefinidos y escribimos: ROOT_ID=$BUILD_NUMBER BUILD_NUMBER es una variable de entorno, que es el valor de esta ejecución y guardamos.
Le damos en “build with parameters” y entramos al console output de parameterized y vemos que la ejecución número tal, fue la que ejecutó a parameterized. Corre hello-platzi, él llama declarativamente a parameterized e indirectamente a watchers.
Corre los test para esta versión, cuando acabes, mandame esta versión a producción le pasó el id del commit, y se lo pasó a mí job que hace deployment y cuando lo resuelvas me lo despliegas. El sabe la cadena de ejecuciones que tuvo, y cuál fue el que inició este proceso. El profe recomienda usar parameterized jobs en vez de watchers, porque cuando uso watchers solo tengo tres opciones mientras que con parameterized jobs tengo más opciones.
Gracias por tu aporte!!
Graciass!!
Perdonen, pero no entendo nada de nada, instale, ejecute la herramienta, configuracion y realiza todo.. pero siento que solamente estoy siguiendo un paso a paso sin contextualizar, jenkins automatiza, pero que automatiza? despliegues de SO. Server, servicios dentro de server, si lo vemos del lado de Infra; codigo desde el lado de dev, pruebas desde le lado de qa, ?, alguna ejemplo, que me puedan recomendar de un uso cotidiano; prefiero preguntar que segir haciendo por hacer y ver correr algo por correr.
Basicamente, con Jenkins se puede automatizar todo lo que mencionaste...Lo que tenemos es una herramienta que, en lo mas básico, ejecuta una serie de comandos en una maquina y obtiene un resultado, reemplazando ciertas tareas que normalmente hacía una persona. Es, por ejemplo:
Hacer build de un proyecto en Java que está en Git...si lo haces manualmente deberías hacer pull del repo, y correr mvn compile o gradle build. Con Jenkins te puedes evitar hacer eso, haciendo un Git hook que emita un evento de commit, en Jenkins le haces pull, build y te dice todo OK o falló. Inclusive, y como funcionalidad extendida, puedes añadir code linters, validaciones de Sonar, etc.
Hacer respaldo de una DB en un periodo en especifico. Si se hiciera manualmente deberías tener a alguien corriendo los comandos del motor de DB en un momento especifico. Con Jenkins solo es configurar dichos comandos y dejar configurado el cron. No hay que obviar que esto tambien se podría hacer con un crontab, pero pues a eso voy, Jenkins provee dicha funcionalidad, un poco mas transparente.
Espero que esto te haya ayudado un poco.
Bienvenido a Platzi donde sacan cursos por sacar, donde los cursos no tienen proyectos y donde ud no aprende cosas que no pueda aprender en youtube. En lo personal yo veo las rutas de aprendizaje de platzi como una guía, y busco los cursos de esas rutas en Udemy, donde puedo ver con comentarios y reviews reales si el curso vale la pena o no y aparte si no me gusta me devuelven la plata. Eso si en Udemy el material que mas vale la pena es en Ingles. Platzi = Bonita publicidad...
para conectar jobs podemos hacerlo de dos formas, basicamente:
una es que un job este escuchando a otro, y en funcion de su estado success, fail etc. se ejecute -> (ejemplo de watchers)
la otra manera es desde un job (padre), llamar a explicitamente a otro job (hijo) para esto es necesario agregar un build step de tipo Trigger/call build on other projects esta opcion tiene la potencialidad de que se puede pasar parametros del job padre al hijo
Ya logre instalar el plugin, pero no me aparecen esos dos Jobs.
Ayuda por favor.
Se tienen que crear, por separado, seguro el ya los tenia creados.
reinicia el servicio de Jenkins i vuelve a iniciar el programa.
He aprendido mas con este curso que con todos los videos de youtube que existen hasta hoy de Jenkins, el profesor explica super bien !
Que bueno saber que el curso te ha ayudado :D
haha
Este video es super vital para todo el curso.
Yo reto a quien sea que no sepa nada de Jenkins a seguir este curso y después hacer una entrevista de trabajo a ver si la pasa...
Si no preguntan nada de Jenkins quizás tengas una posibilidad
A ver, pretender aprender una tecnologia viendo un curso de una hora que ademas especifica que es basico no tiene ningun sentido. Ademas, al final se especifica que hay un siguiente curso de Devops donde se trabajan los conceptos de CI/CD que pienso que son vitales para el entendimiento de la tecnologia. Por ultimo, y evidentemente es algo que siento que se debe implementar, si un desarrollador pretende aprender algo solo viendo un curso y sin ir mas alla buscando otra documentacion o levantando proyectos propios, por ahi no es.
Seguir aprendiendo no parar de aprender eso es la felicidad para mi
Primero instalamos el plugin Parameterized Trigger, igual cómo instalamos anteriormente y reiniciamos.
Luego vamos a crear 2 jobs nuevos: watchers: En este job, vamos a configure y vamos a “Build after other projects are built” y escribimos y escribimos hello-platzi, sí hello-platzi es successful, quiero que se ejecute watchers. Y en la parte de executed shell, escribimos : echo “Running after hello-platzi success” y guardamos. parameterized: Acepta parámetros cuando lo llamo. Marcamos la opción “ This project is parameterized” y en el name escribimos ROOT_ID. Y en el execute shell: echo “calle with $ROOT_ID” y guardamos.
Y en hello-platzi, en Downstream project, y estos se añaden cuando jenkins se da cuenta que su job tiene una dependencia con otro. Vamos al configure de hello-platzi y en el execute shell escribimos: echo “Hello Platzi from $NAME” Y añadir un build step que se llama : “Trigger/call build on other projects”, y en projects to build escribimos parameterized y le damos en añadir parámetros, luego parámetros predefinidos y escribimos: ROOT_ID=$BUILD_NUMBER BUILD_NUMBER es una variable de entorno, que es el valor de esta ejecución y guardamos.
Le damos en “build with parameters” y entramos al console output de parameterized y vemos que la ejecución número tal, fue la que ejecutó a parameterized. Corre hello-platzi, él llama declarativamente a parameterized e indirectamente a watchers.
Corre los test para esta versión, cuando acabes, mandame esta versión a producción le pasó el id del commit, y se lo pasó a mí job que hace deployment y cuando lo resuelvas me lo despliegas. El sabe la cadena de ejecuciones que tuvo, y cuál fue el que inició este proceso. El profe recomienda usar parameterized jobs en vez de watchers, porque cuando uso watchers solo tengo tres opciones mientras que con parameterized jobs tengo más opciones.
Importante para los que esta realizando el ejercicio en Windows las variables se llaman con el comodin "%variable%"
Ese plugin no esta funcionando correctamente. This plugin is up for adoption! We are looking for new maintainers. Visit our Adopt a Plugin initiative for more information.
Workflow
Se ejecuta Hello-platzi
Hello-platzi llama a parameterized
Indirectamente se ejecuta Watchers porque está viendo a Platzi
Conclusión
Genial este ejemplo.
Estoy ejecutando Jenkins de manera local bajo un entorno windows, logro instalar el plugin pero no aparecen los dos jobs que se indican. ¿Pueden por favor indicarme qué se debe hacer?
Los Jobs los creo en las clases anteriores, esos no se instalan por defecto en Jenkins.
Para las personas que acaban de llegar al curso los Jobs fueron creados fuera de camara. Inicialmente solo se deben crear los Jobs con los nombres indicados en la clase. Luego es seguir los siguientes pasos:
Watchers (será ejecutado cuando Hello-Platzi se compile)
Parameterized (su ejecución se iniciará cuando Hello-Platzi lo indique)
la verdad me sirvio mucho y aprendi que es lo más importante
mucho bla bla y poco productivo , un uso del spanglish exagerado no se entiende 😒
Una pregunta cual es la diferencia entre usar Jenkins vs por ejemplo hacer un docker compose para encadejar jobs?
He realizado la configuracion , pero la respuesta no me imprime el ROOT_ID 15:05:37 Lanzada por el usuario fabian alberto 15:05:37 Running as SYSTEM 15:05:37 Ejecutando.en el espacio de trabajo C:\Users\fabmil22.jenkins\workspace\hello-fab 15:05:37 [WS-CLEANUP] Deleting project workspace... 15:05:37 [WS-CLEANUP] Deferred wipeout is used... 15:05:37 [WS-CLEANUP] Done 15:05:37 [hello-fab] $ sh -xe C:\Users\fabmil22\AppData\Local\Temp\jenkins5965374354533863549.sh 15:05:37 + echo 'hola Fab from Fabian' 15:05:37 hola Fab from Fabian 15:05:37 [hello-fab] $ sh -xe C:\Users\fabmil22\AppData\Local\Temp\jenkins2446028212280574019.sh 15:05:37 [hello-fab] $ node.exe C:\Users\fabmil22\AppData\Local\Temp\jenkins410591792167836239.js 15:05:37 Triggering projects: parameterized 15:05:38 Lanzando una nueva ejecución de watchers 15:05:38 Finished: SUCCESS
la respuesta debe imprimir es el parámetro que pasa del job principal
No me aparece el plugin Parameterized Trigger plugin :(
a mi tampoco cual seria la solucion ????
ya esta, debes buscarlo esn available de ahi instalarlos, este paso se le paso al profe el ya solo los muestra intslados en installed, realizalo asi y veras que todo fluye
¿cómo puedo eliminar el comentario o editarlo?