我不得不做一些挖掘工作。首先,我turned on Bitbucket Server debug loggin via the UI。那时,我在将我指向an article about git hooks not firing 的日志中看到了一些错误。
从那里,我开始在我的 bitbucket_home 目录中挖掘丢失的脚本及其文件权限。虽然我没有找到 20_bitbucket_callback 脚本,但我确实在同一目录中找到了 20_stash_callback 脚本!
文章建议检查他们在服务器上的文件权限,所以我做了。
find . -name 20_stash_callback -printf "%p: %u:%g %m\n"
find . -name pre-receive -printf "%p: %u:%g %m\n"
find . -name post-receive -printf "%p: %u:%g %m\n"
你瞧,所有的脚本都拥有 644 权限,即“root 用户读/写,其他人只读”。我用一点find ... -exec
改变了它。
sudo -u someuser find . -name 20_stash_callback -type f -exec chmod 774 {} \;
sudo -u someuser find . -name post-receive -type f -exec chmod 774 {} \;
sudo -u someuser find . -name pre-receive -type f -exec chmod 774 {} \;
当我想到我可能需要将回调脚本重命名为文档中描述的脚本时,我仍然没有看到我的 jenkins 构建火。
sudo -u someuser find . -name 20_stash_callback -type f -exec rename 20_stash_callback 20_bitbucket_callback {} \;
在那之后,我的钩子起作用了!有很多的欣喜。
请注意,上面使用的someuser
帐户是我们的存储实例在其下运行的本地用户。如果您使用上述脚本,请确保根据您的需要进行更改。