2015-11-17 2 views
1

Я использую gitlab для управления несколькими репозиториями на локальном dev-сервере и реализовал перехваты для автоматического развертывания проектов, когда фиксация выполнена успешно. Это прекрасно работает, но, к сожалению, мой крюк post-receive запускается, когда я фиксирую какой-либо репозиторий, а не только репозиторий, для которого нужен крючок.Ограничить привязку git к одному репозиторию

Как я могу ограничить свой крючок так, чтобы он выполнялся только при нажатии на конкретный репозиторий?

+1

Просто добавьте крюк локально, под '.git/hooks' каталог в вашем проекте/хранилище. – Oldskool

+0

Вышеупомянутый комментарий должен быть введен как ответ, так как он действительно сообщает вам, что вам нужно знать. – holdenweb

+0

У меня есть крючок в 'репозиториях/somegroup/somename.git/hooks', и файл называется 'post-receive' – Matkey

ответ

0

Я использую GitLab Omnibus Community Edition 8.0.5. Насколько я понимаю, вы ищете пользовательские перехватчики, чтобы выполнять действия только в определенном репозитории. Для этого GitLab представил пользовательскую функцию git hooks для gitlab-shell версия 2.2.0 (для чего требуется GitLab 7.5+). Вам нужно будет создать новый каталог под названием custom_hooks в директории 'repositories/somegroup/somename.git /'. Для моей установки, она выглядит, как показано ниже:

enter image description here

Примечание: В моем случае, я также заметил, что если я удалил по умолчанию после приема файла крючков из/Opt/gitlab/встроенных/service/gitlab-shell/hooks, мой post-receive hook, хранящийся в каталоге custom_hooks, перестает работать. Поэтому убедитесь, что крючки по умолчанию не удалены. Просто поместите свои пользовательские крючки в свой каталог custom_hooks, и все должно быть в порядке.

Для получения более подробной информации, пожалуйста, обратитесь http://doc.gitlab.com/ce/hooks/custom_hooks.html

+0

Это, похоже, сработало. для меня я видел, что мой крюк post_receive в hooks на самом деле был ярлыком для файла в папке gitlab-shell. Удаление ярлыка, но сохранение пост-получаемого файла в папке с крючками, казалось, решило это для меня. Мне пришлось удалить текст из файла post-receive в папку gitlab-shell. Самостоятельное размещение Gitlab 6.0.2 10b0b8f – Matkey

+0

Спасибо за обновление. Я рад, что мой ответ помог! :) – Technext

Смежные вопросы