码迷,mamicode.com
首页 > 其他好文 > 详细

Gitlab自动触发Jenkins构建打包

时间:2017-11-29 14:42:17      阅读:820      评论:0      收藏:0      [点我收藏+]

标签:author   push   hex   aaa   hook   not   uda   obj   自己   

一、目的

在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目。当然在构建后还可以添加项目部署或者自动化测试的脚本。这里只针对测试环境。

二、Jenkins配置

2.1 安装Gitlab Hook Plugin插件:

系统管理->管理插件->可选插件->选择安装 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件。 如果没有安装Build Authorization Token,后面gitlab在Test hook时会报403错误。

技术分享图片

2.2 生成随机token:

在linux终端执行:

# openssl rand -hex 12
ed83c8d0506386f23e743695

2.3 创建测试Project

在gitlab上已建好了bd-ci-test的项目,且Jenkins用户拥有该项目的相关读写权限。
在jenkins新建bd-ci-test项目:

技术分享图片

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

技术分享图片

构建触发器,填写刚刚生成的token:

技术分享图片

三、Gitlab配置

在git项目配置界面设置链接和token。这里要注意路径,根据部署jenkins的路径填写,不然会报404错误:

技术分享图片

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

技术分享图片

四、验证测试

4.1 向gitlab提交代码:

#vim a.txt 修改a.txt文件并提交
#git add a.txt 
#git commit -m 'alter a.txt'
[release 094f663] alter a.txt
 1 files changed, 0 insertions(+), 2 deletions(-)
#git push origin release
Password: 
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 283 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
   b32472e..094f663  release -> release

4.2 jenkins控制台输出信息:

可以观察到jekins已经自动构建项目了:

技术分享图片

Gitlab自动触发Jenkins构建打包

标签:author   push   hex   aaa   hook   not   uda   obj   自己   

原文地址:http://www.cnblogs.com/bugsbunny/p/7919993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!