Я использую GitLab Community Edition 8.2 и хочу добавить ловушку после фиксации.
Я создал файл path_to_project.git / custom_hooks / post-commit с правами
$ ls -l1 custom_hooks/post-commit
-rwxr-xr-x 1 git git 45 Dec 14 21:31 custom_hooks/post-commit
и контент
#!/bin/bash
echo "test custom" > /tmp/hook
, как описано здесь: http://doc.gitlab.com/ce/hooks/custom_hooks.html
Но это не работает (проверьте, зафиксировав через веб-интерфейс). Я пробовал также «нормальное» размещение хуков git (project.git / hooks / post-commit), но это тоже не сработало.
post-commit
является клиентским крюком и вы не можете реализовать его на сервере.
Согласно документации Gitlab: http://doc.gitlab.com/ce/hooks/custom_hooks.html, вы можете реализовать на сервере пользовательский крюк на стороне сервера ( pre-recept
, post-recept
, и update
).
Примеры git-крюков на стороне сервера включают в себя pre-recept, post-recept, и обновить. См. раздел Git SCM Server-Side Hooks для получения дополнительной информации о каждый тип крюка.
Если вы хотите настроить крюк на стороне клиента, вам нужно будет изменить исходный код крюка или положить ваш пользовательский сценарий на клиенте под .git/крючки
. Подробнее здесь: Что такое Git-крюки?
И здесь всё о пользовательских крючках: Настройка Git'а - Git Hooks