我想配置 bitbucket 来触发 jenkins 构建。
我花了一些时间研究这个问题,所有答案都来自几年前,但没有找到任何指南,因为从那以后事情似乎发生了变化。
我正在尝试做的事情:将位桶推送到特定分支会触发构建。
我有什么:Bitbucket Web 挂钩在推送到任何分支时向 Jenkins 发出 HTTP 请求。我还在 Jenkins 上安装了 Bitbucket 插件,它在作业配置中添加了一个复选框Build when a change is pushed to BitBucket
。尽管我推送到 SCM 部分中的配置分支,但此复选框似乎不起作用(也许我设置错误?为此的文档最少)。
问题1:Bitbucket 不会触发 GET,而是触发另一个导致 403 的请求。我用 postman 进行了测试,它适用于 GET,但不适用于 POST。
问题2:当推送到任何分支时会触发此 HTTP 构建请求。虽然构建仍然仅限于特定分支,但似乎没有必要一直重建。
我该如何解决这些问题? Bitbucket 在定制方面似乎不太灵活。 Bitbucket 的 Jenkins 插件有很多“不好”的评论。开发人员目前是如何做到这一点的?
Jenkins CI服务器的具体解决方案--Webhook to Jenkins for Bitbucket插件已经在最新版本的 Bit-Bucket 中商业化,目前的价格约为 4800 美元,之前是免费提供的,因此,想要省钱的人可以通过使用 bit-bucket 的 webhooks 功能来寻求替代解决方案桶:-
创建网络钩子的步骤:-
位桶侧
1) 转到您的 bitbucket 存储库,单击“存储库设置”,在“WEBHOOKS 选项的工作流程”下,然后创建一个 Webhook。
a) 创建 webhook:- URLhttps://JenkinsserverURL/git/notifyCommit?url=https://bitbucket.repository-link/repository.git
b) 在名称选项卡中,输入您选择的任何名称
c) 在保存之前单击“测试连接”。确保您获得 http 状态 200
d) 查看您的日志详细信息,检查您的请求和响应是否正确。
需要注意的事项
詹金斯方面:-
1) 确保 Jenkins 作业中使用了 bitbucket webhook 中提到的存储库。
2) 在SCM 选项中,激活/选择Poll SCM 选项,不要在日程表中提及任何内容,将其留空。
3)配置休息工作,
每当您的 git 存储库观察到任何更改时,Jenkins 都会触发自动构建。默认情况下,推送触发器已激活,如果您想激活其他操作,请在创建 Webhook 时选择这些事件。
***在存储库 webhook 中指定分支:-
http://yourserver/git/notifyCommit?url=<URL of the Git repository>[&branches=branch1[,branch2]*][&sha1=<commit ID>]
Cheers,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)