是否可以在 Gitolite 中实现基于 repo 的挂钩?
Is it possible to implement repo based hooks in Gitolite?
我想在 gitolite 中实现基于 repo 的钩子。
可能吗?
我正在使用 gitolite 3 (g3)。
从 Gitolite 3.6+ 开始,可以使用 "repo-specific hooks":
- add this line in the
rc
file, within the %RC
block, if it's not already present, or uncomment it if it's already present and commented out:
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
uncomment the 'repo-specific-hooks
' line in the rc
file or add it to the ENABLE
list if it doesn't exist.
If your rc
file does not have an ENABLE
list, you need to add this to the POST_COMPILE
and the POST_CREATE
lists. Click here for more on all this.
put your hooks into your gitolite-admin
clone, as follows:
# on your workstation
cd /path/to/your/gitolite-admin-clone
mkdir -p local/hooks/repo-specific
Now add your hooks to that directory, but instead of using the git "standard" names (pre-receive
, post-receive
, post-update
), you use descriptive names (e.g. "deploy
", "RSS-post
", etc).
add them to the repos you want them to be active in, in your conf file. For example:
repo foo
option hook.post-update = jenkins
repo bar @baz
option hook.post-update = deploy RSS-post
- add, commit, and push the admin repo.
我想在 gitolite 中实现基于 repo 的钩子。
可能吗?
我正在使用 gitolite 3 (g3)。
从 Gitolite 3.6+ 开始,可以使用 "repo-specific hooks":
- add this line in the
rc
file, within the%RC
block, if it's not already present, or uncomment it if it's already present and commented out:
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
uncomment the '
repo-specific-hooks
' line in therc
file or add it to theENABLE
list if it doesn't exist.If your
rc
file does not have anENABLE
list, you need to add this to thePOST_COMPILE
and thePOST_CREATE
lists. Click here for more on all this.put your hooks into your
gitolite-admin
clone, as follows:
# on your workstation
cd /path/to/your/gitolite-admin-clone
mkdir -p local/hooks/repo-specific
Now add your hooks to that directory, but instead of using the git "standard" names (
pre-receive
,post-receive
,post-update
), you use descriptive names (e.g. "deploy
", "RSS-post
", etc).add them to the repos you want them to be active in, in your conf file. For example:
repo foo
option hook.post-update = jenkins
repo bar @baz
option hook.post-update = deploy RSS-post
- add, commit, and push the admin repo.