一、目的
公司有一个官网静态页面,按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控制台
成功!
停留在世界边缘,与之惜别