Ejecutar tarea (jenkins) después de hacer push en git
Si hay que ejecutar alguna tarea después de hacer un push en git, la forma más cómoda de hacerlo es utilizando los hooks de git. Una tarea típica es arrancar una build de jenkins.
Imaginemos que queremos ejecutar cierta tarea de jenkins tras hacer push de la rama "master" solamente, y el resto de ramas no dispararán esta build. Editaremos el hook post-receive de los hooks de nuestro repositorio bare para que cualquier usuario que haga push dispare esta tarea y agregaremos lo siguiente:
#!/bin/sh
read oldrev newrev refname
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
if [ "master" == "$branch" ]; then
curl http://jenkins.midominio.com:8080/job/MiProyecto/build?delay=0sec
fi
Imaginemos que queremos ejecutar cierta tarea de jenkins tras hacer push de la rama "master" solamente, y el resto de ramas no dispararán esta build. Editaremos el hook post-receive de los hooks de nuestro repositorio bare para que cualquier usuario que haga push dispare esta tarea y agregaremos lo siguiente:
#!/bin/sh
read oldrev newrev refname
branch=$(git rev-parse --symbolic --abbrev-ref $refname)
if [ "master" == "$branch" ]; then
curl http://jenkins.midominio.com:8080/job/MiProyecto/build?delay=0sec
fi
Lo primero que hace este código es leer las tres variables de la revisión anterior, la nueva revisión y la referencia de la rama, que en nuestro caso hemos dicho que será "master". Si coincide la rama que se ha recibido con la que queremos que active el trabajo ejecutamos las acciones, en este caso hacemos una llamada a nuestro servidor jenkins y dispara la tarea.
Etiquetas: git, hooks, jenkins, post-receive

0 Comments:
Publicar un comentario
<< Home