是否没有办法通过Bitbucket挂钩来触发Jenkins脚本化管道作业?
有一个错误,但已经存在了很多年,显然没有修复。是使这项工作真正实现启动上游工作的唯一途径吗?这似乎很笨拙。
#1 楼
如果您只需要通用的接收后挂钩,则可以执行常规的Web挂钩并点击构建API端点。例如,如果您的Jenkins服务器的名称是jenkins.example.com
,并且要触发的管道作业的名称是my_awesome_job
,那么您可以向https://jenkins.example.com/job/my_awesome_job/build
发出POST请求。根据您的安全模型,此请求可能需要也可能不需要经过身份验证和授权。如果确实需要身份验证和授权,则可以使用HTTP Basic身份验证(不幸的是,我还没有找到进行密钥对身份验证的合理方法)。如果需要触发请求请求的构建,那么需要一个插件。我一直在使用Bitbucket的pull-request-notifier插件来触发Bitbucket的构建,并且效果很好。它与Jenkins的Bitbucket分支源插件结合使用时效果特别好,后者可自动为每个分支创建Jenkins作业,并打开Bitbucket项目中每个存储库的PR。这两个插件的组合使我能够在PR打开后立即自动触发构建,并防止在构建通过之前合并PR(这是一个非常常见的工作流程,因此即使您没有明确询问,我也认为值得一提它)。
评论
有趣的+1。您如何清理分支机构的构建?
– 030
18-4-26在17:57
Bitbucket分支源插件会自动清除陈旧的分支。为此,它具有可配置的参数。例如,我将其配置为将已删除分支和已关闭PR的作业保留30天,然后删除该作业。
– Jayhendren
18年4月26日在20:07
詹金斯的资源管理又如何呢?您如何确保有足够的执行者?我可以想像,詹金斯身上会有很多额外的负担。
– 030
18年4月26日在20:10
关于Bitbucket的请求请求通知程序是否也适用于BitbucketCloud?需要花钱吗?如果不可用,jenkins的bb b源插件仍然可以使用吗?
– 030
18-4-26在20:11
它不花钱。我使用Bitbucket Server,而不是云,所以我不确定那里的兼容性。但是,我确实知道Jenkins的Bitbucket Branch Source插件可以自动为Bitbucket云设置Webhooks,所以我认为您根本不需要Bitbucket的pull-request-notifier插件。
– Jayhendren
18年4月26日在23:37