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

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

我想在自己的服务器上的 git 存储库中添加多个 post-receive 钩子脚本。例如:触发 CI,并发布到 slack。

如何添加多个脚本?

答案1

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

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

#!/bin/bash
while read oldrev newrev refname; do
    for hook in $GIT_DIR/hooks/post-receive.d/*; do
        echo -e "\e[44m\e[97m Running hook: $hook \e[0m"
        echo $oldrev $newrev $refname | $hook
    done
done

exit 0

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

/PATH/TO/GIT.git/hooks/
└── post-receive.d
    └── SCRIPT1
    └── SCRIPT2

相关内容