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:


Paste_Image.png

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

配置 Jenkins 使用 Token


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


Paste_Image.png

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


Paste_Image.png

测试连接

配置 Jenkins 构建任务


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

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

Paste_Image.png

Paste_Image.png

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


Paste_Image.png

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


Paste_Image.png

配置GitLab仓库


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

Paste_Image.png

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


Paste_Image.png
Paste_Image.png

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


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容