Conectar Jenkins con GitHub usando webhooks
Clase 10 de 15 • Curso Básico de Jenkins
Contenido del curso
Clase 10 de 15 • Curso Básico de Jenkins
Contenido del curso
Jose Miguel Diaz
Augusto Gonzalez
Geovanny Javier Páez García
Jorge Eliecer Lara Espitia
Luis Val
Jimmy Salazar Ninaquispe
Carlos Gelvez
William Ríos Torres
Juan Diego Alvarado
Iván Toro
Andres Gonzalez
William Schnaider Torres Bermon
Elmer Padilla Espinoza
Jesús Alberto Martínez Hernández
Jesús Mur Fontanals
Eduardo Lujan
Roddy Steeven Zamora Rodríguez
Jhon Jaiver Supelano Rojas
Mario David Torres Torres
ROGELIO ZARATE MENDEZ
Carlos Gelvez
Martín Alexis Samán Arata
Jesus Salazar
Eduardo Cárdenas
Eduardo Cárdenas
Aníbal Corral
Paúl Terán
Pablo de los Santos
Hector Eduardo Alarcon Sanchez
Carlos Gelvez
Sergio Sanchez
Pablo Aquino
Jorge Vásquez
Pablo Aquino
Julio Gutierrez
Erik Elyager
Oscar Adolfo Vargas López
Diego Andrés Beltrán Garavito
Alvaro Eduardo Garzón Pira
Cristhian Camilo Hernandez Perez
Nicolas Lopez
Irving Antonio
Mi aporte:
Es posible conectar un repositorio de GitHub a Jenkins para que cada vez que exista un push se haga un build del source code. Para que esto sea posible debemos realizar cambios tanto en Jenkins como en GitHub. En Jenkins: 1- Debemos tener el GitHub plugin instalado 2- Al crear el Job, debemos marcar el SCM la opción de Git, y pegar la URL del repo. (Para esta acción el host de Jenkins debe tener instalado Git) 3- En el apartado "branches to build" si dejamos en blanco tomara en cuenta cualquier branch. 4- En "Build Triggers" debemos marcar la opción "GitHub hook trigger for GITScm polling" En GitHub: 1- Vamos al repo de GitHub. 2- Entramos en Settings -> Webhooks. 3- Añadimos un nuevo Webhook. 4- Añadimos la Payload URL. (Si la URL no acaba en /github-webhook/ GItHub lanzara un error.) 5- Marcar "Just the push event"
Excelente aporte! Alguien que le regale un cerveza a este hombre.
gracias por tu aporte
Hola a todos, para los que estan intentando usar su jenkins local conectandolo a su github para luego disparar el job una vez se suba un cambio en los branches de su repo, aqui les tengo unos pasos, lo unico diferente es la creación de un agente webhook para poder hacer ese puente de conexión entre el jenkins y el github, aqui la url: https://drive.google.com/open?id=1vhBQIPUCZqQoE_NA5BEMHQ4ryJt4U5OS
Gracias por el aporte.
Excelente, gracias!
Mi aporte :
Si lo estan corriendo local - localhost:8080
Primero deben instalar ngrok es super facil y rapido.
luego de instalarlo
linux
./ngrok http 8080
windows
ngrok http 8080
El les va a dar una url
http--://[url_ngrok]/github-webhook/
Gracias por el dato, muy util
Buenardo.
El repo del curso.
Muchas gracias por publicar el link..
Saludos!
Tomé como base al comentario de @josemdiaza agregué un par de notas y formatié el texto.
Conectando a GitHub con Jenkins
Es posible conectar un repositorio de GitHub a Jenkins, de modo que cuando ocurra un evento en el repositorio (por ejemplo, un push) automaticamente se ejecute un build del source code. Para que esto sea posible se deben realizar algunas configuraciones en Jenkins y GitHub.
Jenkins:
GitHub:
Interesante William, lo agregare a mis datos de desarrollo.
Que placer cuando todos nuestros jobs muestran un solecito 😊
Checa esta documentación
URL del repositorio usado en el video: https://github.com/elbuo8/platzi-scripts
Pequeño tuto para los que lo ejecutan en local, para hacer la prueba use deben crear una cuenta descargar el archivo para su sistema, descomprimirlo y se autentican ./ngrok authtoken SU TOKEN y ejecutarlo ./ngrok http 8080 en Github en Webhooks agregan la url que des dio la consola usen la https: Payload URL https://SU_URL.ngrok.io/github-webhook/
Despues hacen cambios en el repositorio agregan el commit, push y la magia se hace.
Mi repositorio forked
Success
Gracias Jhon por el aporte, me ayudo de mucho usar el ngrok.
. Lo que puedes hacer es utilizar un programa como ngrok y exponer tu IP. Cuando ya tienes tu IP pública con ngrok tendrás una url como esta: **http://0dc178e4.ngrok.io**/github-webhook/ que es la que debes indicar en GitHub. Yo así lo resolví :D Saludos.
Clic en el siguiente enlace Notion para realizar todo lo referente hasta esta clase:
tutorial
Se agradece el aporte
Workflow
Ejecutar job "test-sum-node2
Jenkins clona el repositorio
Busca el último "Commit"
Se empiezan a ejecutar los últimos comandos
GIT Configuración manual del webhook
Configuración automática
Se crea el job en Jenkins
Configurar Jenkins para que se autoregistre
Para gitlab el proceso seria diferente ?
similar
Estimados si quiero usar jenkins con aplicaciones ASP .NET y github, tengo que instalarlo en windows, ciero?
Si es .NET Framework (no Net. Core o con soporte para Linux) así es. A no ser de que además del servidor Jenkins en Linux instales un Agente en Windows
Gracias por la respuesta. No tenía el conocimiento sobre los agentes en jenkins.
¿Se puede trabajar con Bitbucket y python en Jenkins para hacer estas pruebas?
Bitbucket no distingue entre lenguajes es solo para almacenar los cambios en tu código. Python puede aprovechar el CI de Jenkins sin problemas.
si estoy ejecutando una maquina local en virtual box no podría ejecución por mediante el webhook por lo que no tengo ip publica.... hay otro metodo ??
Créate una instancia en AWS, es totalmente gratuito.
¡Hola!
Por si alguno se queda con la duda de ¿Qué es un web hook? Les dejo un resumen muy breve, es una tecnología en la que dos API's se comunican por medio de métodos HTTP basado en eventos, muy utilizado en la cultura devops, les dejo el link si desean profundizar más.
Al intentar la conexion me sale el siguiente error Failed to connect to repository : Error performing git command: C:\Program Files\Git\bin ls-remote -h https://github.com/elbuo8/platzi-scripts HEAD
como lo resolviste?
El error se muestra si el repositorio es privado, creo se tiene que hacer fork al repo o la otra es que no este instalado git.