性能调优、测试

利用gitlab的webhook触发jenkins

2018-05-08  本文已影响0人  JensenWong

因为想解放人工,实现代码push完后jenkins自动部署代码,代码仓库用的是gitlab,首先想到当然是,gitlab通过webhook去通知jenkins部署代码。在网上找文档,发现大多数都是粘贴复制而且质量参差不齐,爬坑不少


前期准备

  1. 安装部署jenkins(参考Jenkins官方文档
  2. 安装部署gitlab(参考gitlab官方文档

配置jenkins

  1. 安装插件
    去jenkins系统管理下的插件管理,在线安装Gitlab Hook Plugin和Gitlab Plugin这两个插件,然后叫重启jenkins


  1. 系统配置
    安装完插件后,去jenkins的系统管理下的系统设置,设置好Gitlab的参数,并测试时候能连接上Gitlab



API token可以在gitlab中的用户的设置中找到

  1. 新建任务




    这里要提醒下,jenkins所在的服务器的jenkins用户(注意是jenkins用户,而不是root)要设置好ssh公私钥免密登录,这就需要为jenkins生成公私钥,并ssh-copy-id到代码部署服务器和gitlab服务器


后面的URL可以copy下来,后面会用到



这里记得需要选择Filter branches by name并且填上分支名,选择这个可以做到,如果改分支有push事件,就会触发这个job的构建。如果选择Allow all branches to trigger this job,则所有分支的push事件都会触发这个job的构建,显然这个并不是很合理。

最后配置好构建步骤直接保存

配置gitlab

点击你要配置的项目,进入设置


在链接那里输入之前jenkins上提供的webhook url,编辑完后保存,点击测试,如果返回200,那就成功了,去jenkins看看有没有自动构建的记录。
第二种链接URL格式是http://<jenkisn的IP地址和端口>/gitlab/build_now/<jenkins的job名称>,例如jenkins的IP地址为192.168.4.1:8080,job名称是job,那么该URL为http://192.168.4.1:8080/gitlab/build_now/job1

在这一步我遇到了两个问题

上一篇 下一篇

猜你喜欢

热点阅读