一、目的

公司有一个官网静态页面,按leater要求,代码push的一瞬间让代码自动部署到测试服务器上,于是有了本次教程


二、Jenkins配置

首先先要安装两款插件:

1.Gitlab Hook Plugin

2.Build Authorization Token Root Plugin


三、创建一个项目

在jenkins新建test项目



四、源码管理

源码管理选择git,添加jenkins用户在gitlab上的凭据(即用户名密码),这里选择打包的分支为fenzhi1分支,这里根据需求自己填写(默认为master分支)


五、构建触发器

现在有fenzhi1和fenzhi2分支,如果不做这一步,开发只要向gitlab中提交代码(fenzhi1分支或者fenzhi2分支),那么jenkins就会进行构建打包,下面我们设置判断过滤只有向fenzhi1分支push代码时,才会触发构建打包。

点开高级,填写根据正则过滤branch,写法如下,并点击generate生成一个token,不然后面webhooks会报403:


六、Gitlab配置

在gitlab项目配置界面设置链接和token。这里要注意路径,根据部署jenkins的路径填写,不然会报404错误,并填写刚刚对应的token信息,关闭SSL证书验证。保存,

如果提示:Requests to localhost are not allowed

请用有管理员权限的账户登陆-管理区域设置-允许外发请求。


七、验证配置

1.点击测试,返回200的话就表示成功了。其他错误可以根据gitlab日志来排除原因,路径:gitlab/gitlab-rails/production.log 



2.向gitlab提交代码

$ vim README.md  ######修改以下#####

$ git add .

$ git commit -m "di 4 ci goujian"  #####提交到远程仓库#####
[fenzhi1 399e10d] di 4 ci goujian
 1 file changed, 1 insertion(+), 1 deletion(-)


$ git push origin fenzhi1    #####提交到远程仓库#####
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 339 bytes | 339.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: To create a merge request for fenzhi1, visit:
remote:   http://192.168.1.22/root/ops/merge_requests/new?merge_request%5Bsource_branch%5D=fenzhi1
remote:
To 192.168.1.22:root/ops.git
   727b9f3..399e10d  fenzhi1 -> fenzhi1

3.查看Jenkins控制台

成功!