¿Es posible usar ganchos personalizados en gitlab 8 para la confirmación del proyecto?

Sé que no fue posible aplicar custom_hooks a project commits.

¿Es esto posible ahora con gitlab 8?

Gracias.

Aquí está la documentation completa que describe cómo hacerlo.

Nota: los ganchos de git personalizados deben configurarse en el sistema de files del server de GitLab.

Solo los administradores del server de GitLab podrán completar estas tareas. Explore webhooks como una opción si no tiene acceso al sistema de files.

Para una interfaz Git Hooks configurable por el usuario, consulte GitLab Enterprise Edition Git Hooks.

Git admite nativamente ganchos que se ejecutan en diferentes acciones. Ejemplos de ganchos git del lado del server incluyen pre-recepción, post-recepción y actualización. Consulte Ganchos del lado del server de Git SCM para get más información sobre cada tipo de gancho.

A partir de la versión 2.2.0 de gitlab-shell (que requiere GitLab 7.5+), los administradores de GitLab pueden agregar ganchos de git personalizados a cualquier proyecto de GitLab.

Preparar

Normalmente, los ganchos git se colocan en el repository o en el directory de ganchos del proyecto. GitLab crea un enlace simbólico desde el directory de ganchos de cada proyecto al directory de ganchos gitlab-shell para facilitar el mantenimiento entre las actualizaciones de gitlab-shell. Como tal, los ganchos personalizados se implementan de forma un poco diferente. Sin embargo, el comportamiento es exactamente el mismo una vez que se crea el gancho. Siga estos pasos para configurar un gancho personalizado.

  1. Elija un proyecto que necesite un gancho git personalizado.
  2. En el server de GitLab, vaya al directory del repository del proyecto. Para una installation desde el origen, la ruta suele ser /home/git/repositories/<group>/<project>.git . Para las instalaciones de Omnibus, la ruta suele ser /var/opt/gitlab/git-data/repositories/<group>/<project>.git.

  3. Cree un nuevo directory en esta location llamado custom_hooks.

  4. Dentro del nuevo directory custom_hooks, cree un file con un nombre que coincida con el tipo de enlace. Para un gancho pre-recepción, el nombre del file debe ser pre-recibido sin extensión.

  5. Haga que el file hook sea ejecutable y asegúrese de que sea propiedad de git.

  6. Escriba el código para hacer que el git hook funcione como se espera. Los ganchos pueden estar en cualquier idioma. Asegúrese de que el 'shebang' en la parte superior refleje correctamente el tipo de idioma. Por ejemplo, si el script está en Ruby, el shebang probablemente será #!/usr/bin/env ruby .

¡Eso es! Suponiendo que el código de gancho se implementa correctamente, el gancho se disparará según corresponda.