如何向 git 存储库添加多个 post-receive 挂钩?

Eps*_*pie 1 git hook

我想将多个接收后挂钩脚本添加到我自己的服务器上的 git 存储库中。例如:触发CI,发布到slack。

如何添加多个脚本?

Eps*_*pie 5

您只能拥有一个接收后脚本,因此您必须使用该脚本来调用多个脚本。

\n\n

在服务器上的文件中/PATH/TO/GIT.git/hooks/post-receive,输入以下内容:

\n\n
#!/bin/bash\nwhile read oldrev newrev refname; do\n    for hook in $GIT_DIR/hooks/post-receive.d/*; do\n        echo -e "\\e[44m\\e[97m Running hook: $hook \\e[0m"\n        echo $oldrev $newrev $refname | $hook\n    done\ndone\n\nexit 0\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后将所有接收后脚本放入新post-receive.d/目录中。确保脚本文件可执行。

\n\n
/PATH/TO/GIT.git/hooks/\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 post-receive.d\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SCRIPT1\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SCRIPT2\n
Run Code Online (Sandbox Code Playgroud)\n