06 - Jenkins&GitLab 集成配置

目标


  • 当一个Push动作或Merge请求发起的时候,触发一个Jenkins构建任务
  • 在GitLab的 Merge Request页面、每个Commit、项目主页中看到构建状态

基础条件


  • Jenkins GitLab Plugin
  • Jenkins Git Plugin
  • Jenkins Gitlab Hook Plugin
  • Git clone 权限(Jenkins 访问 GitLab 仓库)
  • GitLab API 访问权限(生成构建状态的报告)

配置GitLab用户


在GitLab中为 Jenkins 创建一个用户账号用来跟 GitLab 的API交互,且该用户的最小权限需为Developer(生成构建状态,一个成功的构建结果可以触发一个Merge请求【启用了这个功能的话】),如果需要触发 Accept Merge Request 动作,则可能需要更高的权限,如Master权限。

这里我创建用户 jenkins ,使用该用户登陆GitLab,进入Profile Settings页面,选择 Access Token 选项卡,创建一个 Token:


06 - Jenkins&GitLab 集成配置_第1张图片
Paste_Image.png

Token : HkwCanuD2yfSsgXQx9mx
下面我们访问Jenkins服务器,配置Token

配置 Jenkins 使用 Token


进入目录 Jenkins -> Configure -> System,找到GitLab配置


06 - Jenkins&GitLab 集成配置_第2张图片
Paste_Image.png

填入Connection name,Gitlab host URL,然后点击 Add,添加上个小节中生成的 API Token 认证:


06 - Jenkins&GitLab 集成配置_第3张图片
Paste_Image.png

06 - Jenkins&GitLab 集成配置_第4张图片
测试连接

配置 Jenkins 构建任务


创建一个自由风格的构建任务

新建自由风格的构建任务,在源码管理选项卡,选择Git,然后输入代码库地址:[email protected]:demo/Demo.git(以代码库实际地址为准),Credentials选择之前创建的SSH私钥

06 - Jenkins&GitLab 集成配置_第5张图片
Paste_Image.png

06 - Jenkins&GitLab 集成配置_第6张图片
Paste_Image.png

配置构建任务的触发器,这里,一旦GitLab项目上有Push或者Merge事件,就会自动触发Jenkins任务执行,记住这里的Service URL和Token,后面配置GtiLab仓库的时候会用到:


06 - Jenkins&GitLab 集成配置_第7张图片
Paste_Image.png

构建任务这里,我们使用的是Gradle构建,因此,只需选择构建类型,声明构建任务即可


06 - Jenkins&GitLab 集成配置_第8张图片
Paste_Image.png

配置GitLab仓库


下面回到GitLab,去Demo项目的设置页面,点击Web Hooks,添加Push事件和Merge事件的Web Hook给Jenkins的任务地址,并选择要推送的事件(http://jenkins.demo.com:8080/job/Demo/):

06 - Jenkins&GitLab 集成配置_第9张图片
Paste_Image.png

然后点击Test按钮进行测试,点击后,我们会发现,Demo项目的构建任务,立刻进入了Jenkins任务队列中


06 - Jenkins&GitLab 集成配置_第10张图片
Paste_Image.png
06 - Jenkins&GitLab 集成配置_第11张图片
Paste_Image.png

紧接着,构建任务开始执行


06 - Jenkins&GitLab 集成配置_第12张图片
Paste_Image.png

你可能感兴趣的:(06 - Jenkins&GitLab 集成配置)