我想在gitolite中实现基于repo的钩子。
可能吗?
我正在使用gitolite 3(g3)。
答案 0 :(得分:2)
自Gitolite 3.6+以来,可以使用“repo-specific hooks”:
- 在
rc
块中的%RC
文件中添加此行(如果它尚未存在),或者如果已存在并注释掉,则取消注释:
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
取消注释
repo-specific-hooks
文件中的“rc
”行,或将其添加到ENABLE
列表中(如果该列表不存在)。如果您的
rc
文件没有ENABLE
列表,则需要将其添加到POST_COMPILE
和POST_CREATE
列表中。 Click here了解更多信息。将您的挂钩放入
gitolite-admin
克隆,如下所示:
# on your workstation
cd /path/to/your/gitolite-admin-clone
mkdir -p local/hooks/repo-specific
现在将您的挂钩添加到该目录,但不使用git“标准”名称(
pre-receive
,post-receive
,post-update
),而是使用描述性名称(例如“deploy
”,“RSS-post
”等。在conf文件中将它们添加到您希望它们处于活动状态的存储库中。例如:
repo foo
option hook.post-update = jenkins
repo bar @baz
option hook.post-update = deploy RSS-post
- 添加,提交并推送管理员仓库。