我需要将 Bitbucket 与 Jenkins 集成。这样,每当打开 PR 时,它都会触发 Jenkins 中的构建。然后 PR 中最后一次提交的提交状态将更新为失败或成功,并且该提交不会再次触发构建。 (这在 Github 上工作得很好,但在 Bitbucket 上对我来说似乎是一场噩梦)
到目前为止我做到了:
- 安装了 Bitbucket 拉取请求构建器插件。
- 按照https://github.com/jenkinsci/bitbucket-pullrequest-builder-plugin#readme中的描述设置一切
- 用户对存储库具有写入权限(我们将 shh pub key 添加到组织及其具有写入权限的组中)
问题
- 针对同一个 PR/提交一次又一次地触发构建
- bitbucket 上的提交状态未更新
如果我可以提供更多信息,请告诉我。
最佳答案
在我的例子中,Jenkins URL 设置为 http://jenkins:8080
并且当这样的 URL 通过他们的 API 发送到 BitBucket 时,BitBucket 返回错误“无效 URL”(查看在 Jenkins 日志中:http://yourjenkins:8080/log/all
)这不是由 BitBucket Pull Request Builder 插件处理的,因此不断重建我们所有的 Pull 请求,因为它认为构建是没有进行中。将 Jenkins URL 设置为 http://jenkins.domain.tld:8080/
或 http:///jenkins
后,BitBucket API 开始接受 URL,一切都开始工作。
但就您的情况而言,可能是其他一些错误造成的。您可以检查 Jenkins 错误日志以查看失败情况。
请参阅以下问题:Build status notification fails with Enter a valid URL
关于jenkins - Bitbucket 拉取请求构建器插件不断触发相同的提交构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36184110/