繁体   English   中英

如何在合并的 bitbucket 拉取请求上触发詹金斯构建

[英]How to trigger jenkins build upon bitbucket pull request merged

我查看了所有其他相关的问题和答案,没有找到任何可靠的东西,因此我打开一个新问题来寻求你的帮助,我整天都在努力,我能得到的任何帮助都是高度赞赏。

这是我的环境:

  • 安装了 git 和 bitbucket 插件的自托管 jenkins 服务器(Jenkins 版本 1.651.3)。
  • https://bitbucket.org (我没有自托管的 bitbucket 服务器)

我想做的事:触发詹金斯根据拉取请求构建从功能分支合并到主分支。

我尝试过的不同设置组合:

    • jenkins:“在将更改推送到 BitBucket 时构建”已选中。
    • bitbucket:网络挂钩触发器:已选中“存储库推送”。

结果:提交到 master 分支后成功触发了构建,但这不是我想要的,但至少我知道我的 jenkins 服务器和 bitbucket 之间的通信很好。

    • jenkins:“在将更改推送到 BitBucket 时构建”已选中。
    • bitbucket: web hooks trigger: 'Repository push' 被选中,并且 Pull Request - 'Merged' 被选中。

结果:jenkins 不响应拉取请求合并操作。 我认为它会起作用,因为我在 web hooks 触发器设置中检查了 Pull Requst - 'Merged',我确实看到请求是由 bitbucket 发送到我的 jenkins 服务器的,它从我的 jenkins 服务器返回了 200 个状态代码,但是,仍然没有任何反应。

    • jenkins:“在将更改推送到 BitBucket 时构建”已选中。 除此之外,我还安装了另一个名为 bitbucket-pullrequest-builder-plugin 的插件,并按照说明进行了配置。
    • bitbucket: web hooks trigger: 'Repository push' 被选中,并且 Pull Request - 'Merged' 被选中。

结果:在 bitbucket-pullrequest-builder-plugin 的帮助下,确实在创建拉取请求时触发了构建。 但是詹金斯服务器不断地轮询bitbucket存储库,我没有找到阻止这种情况的方法,也没有办法在合并时触发构建......

我听说有人说你需要在 bitbucket 服务器上安装一个 post-hook 插件才能做我想做的事情,但问题是我没有托管 bitbucket ......

根据一些研究,截至 2017 年 11 月 12 日,您可以有几个选择:

  • 使用支持拉取请求触发器的通用post webhooks 插件 从 jenkins 使用通用 webhooks 插件来获取它,然后可能从 jenkins 做一个辅助触发器。

  • 将 bitbucket 服务器和 webhooks 升级到 jenkins 插件。 服务器 4.13 不适用于后来的 webhooks 到 jenkins 插件。 该插件的付费版本可能是您的最佳选择。

  • 或者试试带有“plan banches”功能的竹子。

当您配置 GIT - push、commit... 等钩子时,请务必检查 JENKINS git 选择,并将 BRANCH 设置为检查(** 指定所有分支),最重要的是,

使用 localtunnel.me 或类似工具将您的 JENKINS 设置为在线,否则将无法正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM