On Wed, 20 May 2015 10:18:02 +0200
Matthias Saou wrote:
> On Wed, 20 May 2015 08:58:47 +0200
> Arnau Bria <
arnau...@gmail.com> wrote:
>
> > Hola,
> >
> > el otro día Xavi me dijo que con los hooks genéricos de gitlab no
> > era necesario añadir un hook por repositorio. Mi pregunta es qeu en
> > en gitlab tengo otras cosas a parte de módulos de puppet, así que
> > aprovecho para preguntaros, es posible añadir un hook a un conjunto
> > de repos X, o por usuario quizá?
>
> En las versions recientes de GitLab (parece que 7.5+) han cambiado un
> poco la forma de gestionar los hooks, supongo que para poder hacer que
> functionen hooks configurados desde la interfaz web.
yo tengo 7.9.
> Basicamente todos los repos en el filesystem tienen sus hooks
> apuntando a algo generico+interno de GitLab. A partir de ahi, no he
> mirado bien la parte interfaz web etc. pero supongo que permite hacer
> cosas ahora.
bueno, el otro día pensaba que podría poner un hook genérico
(entendiendo que
http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks#Server-Side-Hooks
son genéricos) que determine si el usuario es A/B o el repo contiene X
para entonces correr r10k. Aunque lo veo un poco chapuza.
>
> Para hooks caseros que ejecutan comandos en el servidor, hay que
> todavia ponerlos a mano en cada repo donde se quieren, pero dentro de
> 'custom_hooks' en vez de 'hooks' (este no se tiene que tocar mas) :
>
http://doc.gitlab.com/ce/hooks/custom_hooks.html
exacto. Eso es lo que estoy haciendo ahora mismo. Para cada nuevo repo
un nuevo directorio custom hook con el mismo contenido que el resto.
> Nota 1 : Se ejecutan como usuario 'git' para una instalacion Omnibus
> (jugar con sudoers y !requiretty si es necesario).
en mi caso, como medio expliqué en la presentaciń, creé un usuario
intermedio que corre los hooks y actuliza el árbol de los entornos de
puppet.
> Nota 2 : El contenido de los 'custom_hooks' *NO* esta incluido dentro
> de los backups creados con la herramienta de backup de GitLab!
>
> En tu caso, creo que deberias investigar si hay alguna forma de
> 'enchufar' codigo en los hooks genericos/intermedios de GitLab. Con
> suerte desde ahi puedes ir ejecutando lo que quieras basado en cosas
> como el nombre del repo.
Exco, a ver si me curro algo para el post-reveive genérico.
> Si averiguas algo interesante, a mi me interesa :-D
ya te diré, por ahora sigo migrando el 5% de código que me queda. Mi
módulos :-)
> Matthias
Gracias,
Arnau