繁体   English   中英

将git hook限制为单个存储库

[英]Limit git hook to a single repository

我使用gitlab在本地开发服务器上管理一些存储库,并实现了钩子,以在提交成功时自动部署项目。 这很好用,但是不幸的是,当我提交到任何存储库时,我的post-receive钩子都会运行,而不仅仅是钩子用于的存储库。

如何限制挂钩,使其仅在推送到特定存储库时才运行?

我正在使用GitLab Omnibus社区版8.0.5。 据我了解,您正在寻找自定义钩子,因此您只能在特定的存储库上执行操作。 为此,GitLab为gitlab-shell版本2.2.0(需要GitLab 7.5+)引入了自定义git hooks功能。 您将必须在“ repositories / somegroup / somename.git /”目录中创建一个名为custom_hooks的新目录。 对于我的设置,如下所示:

在此处输入图片说明

注意:就我而言,我还观察到,如果我从/ opt / gitlab / embedded / service / gitlab-shell / hooks文件夹中删除了默认的接收后挂接文件,则保存在custom_hooks目录中的接收后挂接将停止工作。 因此,请确保未删除默认的挂钩。 只需将自定义钩子放置在custom_hooks目录中,一切就可以了。

有关更多详细信息,请参阅http://doc.gitlab.com/ce/hooks/custom_hooks.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM