Jenkins pr build Job-github Pull Request Builder Setting

需求:代码仓库 每次有新的pr create时,oss 会自动触发Jenkins job构建。

 

1.确保 Jenkins 安装了 GitHub 插件

在jenkins中安装gitHub插件

2.确保 Jenkins 安装了 GitHub Pull Request Builder 插件

在jenkins中安装gitHub Pull Request Builder插件

3.在 GitHub 仓库中创建Personal access tokens

在代码仓库github中,点击个人账户信息》找到setting>Developer settings>Persoanl access tokens>Generate new token:

 给token 选择对应的权限:

 

4.在 Jenkins 中配置 GitHub 插件,使其能够与 GitHub 通信(如果需要,配置凭据)。

 

 配置github:

 

 在系统设置页面找到"GitHub",配置一个"GitHub Server",如上图:

名称:填写一个githubserver得名字,任意取名

“API URL"填写"  ${你的github url地址}/api/v3”,

“Credentials" 凭据 位置如下图红框所示,选择"Add->Jenkins”:

 

弹出的页面中:

“Kind"选择"Secret text”,

"Secret"填入前面在GitHub上生成的Personal access tokens,

Description随便写一些描述信息,如下图:

  填写完毕后,点击右侧的"Test connection"按钮,如果信息没有填错,显示的内容如下图所示:

  点击页面最底部的"保存"按钮;

4.在 Jenkins 中配置 GitHub Pull Request Builder 

在jenkins 系统设置页面 找到"GitHub Pull Request Builder ",配置一个"GitHub Pull Request Builder server",如下图:

GitHub Server API URL: 填写 ${你的github url地址}/api/v3”

Jenkins URL override:不填

“Shared secret" :填写在上面步骤中, 在仓库中创建的personal access tokens值。

“Credentials" 凭据: 选择在上面步骤中 ,在jenkins github server插件配置时 创建的credentials凭证 数据。

description:填写描述信息,最好是自己的英文名字,这个在jenkins job配置中就会用到这个数据。

 

6.在 jenkins中 配置job

6.1 进入到jenkins job> configure>配置git:

输入Repository URL,Credentials,Name,Refspec, Branch。

  • Repository URL 输入oss地址,注意是以.git结尾
  • Credentials 选择用private key创建的credentials. 如果没有就自己创建(可以参考我的这篇博客:https://www.cnblogs.com/pingguomang/p/17926706.html
  • Name :origin
  • Refspec : +refs/pull/*:refs/remotes/origin/pr/*

 6.2 进入到jenkinsjob>configure > Build Triggers>配置GitHub Pull Request Builder:

  • 选择credentials,也就是上面step4步骤中,在Github Pull Request Builder插件配置中,创建的credentials凭证数据,这里显示的格式:apiurl:descriptionValue
  • 勾选"Use github hooks for build triggering"
  •  输入"Skip build phrase"(please refer other job):.*\[skip\W+ci\].*
  •  勾选"Build every pull request automatically without asking (Dangerous!)."
  •  

     6.3 设置job>configure > 勾选并配置GitHub project

然后点击jenkins job的保存按钮,就配置好了

7.在 GitHub 仓库中设置 WebHook

  • 转到你的 GitHub 仓库的设置setting页面。
  • 点击 "WebHooks" 选项,或者有的是 “Hooks”选项。
  • 点击 "Add webhook" 按钮。
  • 在 "Payload URL" 字段中,填写 Jenkins 服务器的 URL 加上特定的端点,通常是
 http://<jenkins_url>/github-webhook/。
  • 选择 "Just the push event" 或根据需要选择其他事件。
  • 保存 WebHook。
 
例如,如果你的 Jenkins 地址是 http://jenkins.example.com,那么你的 WebHook URL 将是:
http://jenkins.example.com/github-webhook/
确保 Jenkins 服务器上的防火墙和安全组设置允许从 GitHub 到 Jenkins 服务器的网络请求。

 

 
 
ps:上面截图中:前面一截是 jenkins url地址,后面的github-webhook/ 是固定写法。
创建webhook:
0
secret来源:
 
0
勾上 想触发这个webhook的trigger对应的触发事件:

 

点击保存,配置成功以后,在这个github项目中创建一个pr: 就会发现
1) jenkins job自动触发了构建
2)点击这个webhook进去后 就能看到每次commit的记录了。
若不行,看看账号有没有对这个仓库有权限。加权限后,再试。
 
0

 

posted @ 2024-04-24 15:37  苹果芒  阅读(12)  评论(0编辑  收藏  举报