持续集成之④:GitLab触发jenkins构建项目

一:目的为在公司的测试环境当中一旦开发向gitlab仓库提交成功代码,gitlab通知jenkins进行构建项目、代码质量测试然后部署至测试环境,注意这只是测试环境,而生产环境依然需要手动部署代码:

1.1:jenkins配置:
1.1.1:安装Gitlab Hook Plugin插件:
#系统管理-管理插件-可选插件-Gitlab Hook Plugin和Build Authorization Token Root Plugin

1.1.2:生成随机token:

# openssl rand -hex 12
0f2a47c861133916d2e299e3

1.1.3:创建项目触发器:
#项目-配置-构建触发器:
http://192.168.3.199:8080/jenkins/project/web-demo

1.2:配置github:
1.2.1:在git项目配置界面设置链接和token:

登录gitlab,在这个项目下找到钩子配置的地方


#选择项目-设置-webhooks:
#插件使用介绍,https://wiki.jenkins-ci.org/display/JENKINS/Build+Token+Root+Plugin

http://192.168.3.199:8080/jenkins/buildByToken/build?job=web-demo&token=0f2a47c861133916d2e299e3
http://jenkins服务器地址:8080/buildByToken/build?job=项目名&token=token值

1.2.2:测试:

报错:
hook executed successfully but returned http 404

本次是因为没有在项目后面加上jenkins这个路径

1.2.2:测试,看到显示201表示成功

1.3:向git服务器提交代码,验证是否可以自动部署:
1.3.1:提交代码:

[[email protected] code]$ git clone [email protected]192.168.3.198:web/web-demo.git
[[email protected] web-demo]$ echo "Build token root plugin" > index.html
[[email protected] web-demo]$ git add ‘index.html‘
[[email protected] web-demo]$ git commit -m ‘build token root plugin test‘
[master beb37cb] build token root plugin test
1 file changed, 1 insertion(+), 1 deletion(-)
[[email protected] web-demo]$ git push origin master
Counting objects: 5, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 281 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]192.168.3.198:web/web-demo.git
c02523b..beb37cb master -> master

1.3.2:jenkins服务器的日志记录:

[[email protected] tomcat]# tail -f /usr/local/tomcat/logs/catalina.out

1.3.3:jenkins项目构建:

1.3.4:访问web界面验证代码是否最新的:

1.3.5:jenkins控制台输出信息:

时间: 2024-10-15 09:23:12

持续集成之④:GitLab触发jenkins构建项目的相关文章

[原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接https://www.cnblogs.com/kevingrace/p/5651447.html

原文地址:https://www.cnblogs.com/gaoyuechen/p/8908367.html

通过URL触发Jenkins构建

用Jenkins做持续集成时,一般会使用webhooks触发构建,或者定时构建,这里记录用URL的方式触发Jenkins构建. 1.创建一个用户 登陆Jenking--系统管理--用户管理-- Create User 2.用户添加权限 系统管理--全局安全配置 3.发送CURL POST请求 curl -I -u test:<Userpasswd> -X POST "http://<Jenkins_server:port>/job/<Job_Name>/bui

jenkins构建项目记录2(tag)

与jenkins构建项目记录1不同的是通过tag拉去对于版本代码 1.先安装创建(git parameter) 2.general设置 name可任意命名,下面源码管理设置时变量会引用到. 3.源码管理 ${tag} 4.设置完成进行构建 原文地址:https://www.cnblogs.com/ccit/p/10064541.html

gitlab+jenkins+maven+docker持续集成(三)——自动构建

具体原理图,如下,构建项目配置,这里略过,我们直接配置gitlab的自动构建 通过webhook可以实现自动构建,当然jenkins的强大之处在于插件,我们先安装插件 Jenkins-->插件管理 Gitlab Hook Plugin GitLab Plugin 安装后,就可以开始 了 在项目--配置--构建触发器 选择, Build when a change is pushed to GitLab 这样我们就得到了URL和一串Secret token 然后在gitlab配置webhook ,

gitlab+jenkins+maven+docker持续集成(六)——.Jenkins获取git tags代码进行持续集成

GitFlow的工作流 如上图所示,在开发工作中,不同的代码分支对应着项目或产品的不同形态,围绕特定形态的人力投入也不相同.随着时间的推进, 我们在 开发分支 中合并产品的功能实现,产品的功能逐步完善. 当产品功能完善到一定阶段,可以交付给测试团队进行内部测试时,产品代码可以合并到 测试分支(注意,上图未体现测试分支,实际中是否需要测试分支需要具体而定),编译打包测试. 经过若干迭代测试,功能稳定成熟,产品可以发布,此时,代码合并到主干(master)分支,用于发布(TAG标记). 所以这里用T

持续集成(CI)工具------Hudson/Jenkins(Continuous Integration)安装与配置具体解释

本文同意转载.但请标明出处:http://blog.csdn.net/wanghantong/article/40985653/, 版权全部 文章概述: 一. 描写叙述了持续集成工具Hudson的安装与配置 二. 描写叙述了Git .Maven环境的安装与配置 三. 描写叙述了扩展邮件通知及其配置方法 四. 描写叙述了jira的配置 一.Hudson简单介绍 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具.用于监控持续的软件版本号公布/測试项目 下载地址:http://

持续集成与自动化部署 - jenkins &amp; sonar代码质量管理平台 部署和基础使用(五)

1 jenkins 安装参考链接 1.1 安装jenkins [[email protected] ~]# yum install -y java-1.8.0 [[email protected] ~]# cd /etc/yum.repos.d/ [[email protected] yum.repos.d]# wget http://pkg.jenkins.io/redhat/jenkins.repo [[email protected] yum.repos.d]# rpm --import

Jenkins构建项目

创建项目 Jenkins版本:Jenkins ver.2.150.1 在Jenkins首页点击'New 任务'进入创建任务页面,在'Enter an item name'输入框内输入项目名称,选择Jenkins任务类型,这里我们选择'构建一个自由风格的软件项目',点击'OK' 跳转至配置页面,添加项目描述 滚动页面至Build选项,点击下拉框,选择'执行Windows批处理命令' 在输入框中输入命令如图所示命令,点击'save' 一个简单的基于windows系统的python脚本测试项目就创建完

持续集成高级篇之Jenkins cli与Jenkins ssh

系列目录 Jenkins Cli介绍 Jenkins Cli为Jenkins提供的一个cli工具,此工具功能非常强大,可以完成诸如重启jenkins,创建/删除job,查看job控制台输出,添加/删除节点等功能.但是实际工作中,像创建任务这样的配置显然cli非常吃力,不如直接在web管理界面操作,但是对于重启Jenkins,查看诊断信息等,执行一个手动构建任务等,则直接使用cli比进入web管理界面操作更加方便.因此什么时候web管理界面,什么时候使用cli,要看是否有利于提升生产力,是否有利于