06 - Jenkins&GitLab 集成配置

目标

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

基础条件

配置GitLab用户

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

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

配置 Jenkins 使用 Token

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

《06 - Jenkins&GitLab 集成配置》 测试连接

配置 Jenkins 构建任务

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

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

配置GitLab仓库

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png
《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

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

《06 - Jenkins&GitLab 集成配置》 Paste_Image.png

    原文作者:半个王国
    原文地址: https://www.jianshu.com/p/673b2c9901db
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞