看起来 GitHubPullRequestBuilder 与 Jenkins v2.0 管道作业不兼容。
如何配置管道作业以从 GitHub 拉取请求事件触发?
关于这个主题的文档很少,我找不到任何例子。还是在 GitHub 中创建一个 web-hook 来触发 PR 事件上的管道作业更好?
看起来 GitHubPullRequestBuilder 与 Jenkins v2.0 管道作业不兼容。
如何配置管道作业以从 GitHub 拉取请求事件触发?
关于这个主题的文档很少,我找不到任何例子。还是在 GitHub 中创建一个 web-hook 来触发 PR 事件上的管道作业更好?
我有类似的问题。这对我有用
先决条件
在 Github 上
YourJenkinsURL/github-webhook/
管道{ 代理任何 阶段{ 阶段('测试'){ 脚步 { 回声'你好世界...' } } } }
关于詹金斯
+refs/pull/*:refs/remotes/origin/pr/*
${sha1}
就是这样。你都准备好了。在您的 repo 的 master 分支上创建 PR 现在应该会触发您的 Jenkins Pipeline 作业
一些观察
简而言之,流程可以是这样的:
您将管道创建为代码并将其保存在Jenkinsfile
项目根目录下的文件中。该代码应该描述您的项目将如何构建。有关示例,请参见此处:https ://jenkins.io/doc/pipeline/examples/
然后你应该在你的 Jenkins 中创建一个新的“多分支管道项目”项目。您应该设置它以便扫描您的步骤 1 的存储库。
现在,每当您在第 1 步存储库中打开一个新的 PR 分支时,该分支将被签出,并将根据其中包含的 Jenkinsfile 说明进行构建。您可以根据需要设置更多关于构建内容和时间的条件。
笔记:
将 Pipeline 与 GitHub 拉取请求一起使用的最直接方法是将脚本以名称放入您的存储库Jenkinsfile
,然后安装GitHub 分支源插件。文档
按照以下步骤在 GitHub 上生成的拉取请求上自动触发 Jenkins 作业
詹金斯作业配置
在 Jenkins 中下载通用 Webhook 触发器
Jenkins 上的 Git Hub 配置
7.选择 Generic Webhook Trigger on jenkins 8. Generic Webhook Trigger Configuration on Jenkins并按照步骤 9
9.在执行第 7 步之后,Jenkins 作业将在 PullRequest 上获得触发器 10.第 8 步需要从拉取请求有效负载中获取信息 11.通用 Webhook 触发器中的分支配置以从拉取请求中获取分支详细信息
谢谢