Bitbucket服务器webhook到jenkins从stash

时间:2016-05-27 21:15:44

标签: git jenkins bitbucket-server

我们最近从Atlassian Stash 2.x升级到Atlassian Bitbucket Server 4.6.1。许多后提交钩子根本不再工作,因为它们的插件没有被更新,但是一个,Bitbucket Server Webhook for Jenkins在提交后没有被触发。当我击中" Trigger Jenkins"在配置窗口中按钮,但在推送新提交后它没有触发。

1 个答案:

答案 0 :(得分:2)

我不得不做一些挖掘。首先,我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,或者#34;读取/写入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帐户是我们的存储实例运行的本地用户。如果您使用上述脚本,请务必根据需要进行更改。