2016-09-30 4 views
2

Ich möchte Pre-Commit Hook in Gitlab verwenden. Ich alles wie in der Dokumentation zu tun: https://docs.gitlab.com/ce/administration/custom_hooks.htmlGitlab Pre-Commit-Hook

In custom_hooks Verzeichnis I pre-commit mit Folowing Inhaltsdatei erstellt haben:

#!/bin/bash 

exit 1 

Haken wird nie ausgelöst, couse i begehen kann.

Wenn ich das gleiche mit Pre-Empfang Haken - alles funktioniert gut.

Wenn Gitlab Pre-Commit-Hook nicht verwenden?

+0

Gelöst - pre-commit ist ein clientseitige Haken und soll in .git/Haken gespeichert werden Speicherort auf dem Client-Rechner (in meinem Fall unter Windows). Es ist wichtig zu beachten, dass clientseitige Hooks nicht kopiert werden, wenn Sie ein Repository klonen. Ich werde versuchen, alles mit serverseitigen Hooks zu machen. –

Antwort

2

Wie in Customizing Git - Git Hooks erläutert, wird ein clientseitiger Hook auf dem Server nicht verwendet.

erklärte ich vor, warum ist es nicht möglich, Haken in einem Klon enthalten:

Since GitLab 7.5, können Sie set custom Git Hooks für die serverseitige Haken .

Git unterstützt nativ Hooks, die bei verschiedenen Aktionen ausgeführt werden. Beispiele für serverseitige Git-Hooks sind Pre-Receive, Post-Receive und Update.

Normalerweise werden Git-Hooks im Hooks-Verzeichnis des Repositorys oder Projekts abgelegt. Gitlab schafft ein Symlink von jedem Haken Verzeichnis des Projektes zum Gitlab-Shell-Haken-Verzeichnis für einfache Wartung zwischen Gitlab-Shell-Upgrades