Jenkins项目构建细节--常用的构建触发器、Gitlab配置webhook
一、常用的构建触发器
Jenkins内置4种构建触发器
- 触发远程构建
- 其他工程构建后触发(Build after other projects are build)
- 定时构建(Build periodically)
- 轮询SCM(Poll SCM)
1、触发远程构建
触发构建 url:http://192.168.10.20:8888/job/web_demo_pipeline/build?token=8888
2、其他工程构建后触发
创建pre_project流水线工程
其他的不用勾选
回到 web_demo_pipeline 项目配置
开始构建前置项目
查看 web_demo_pipeline 构建情况,会自动构建
3、定时构建
定时字符串从左往右分别为: 分 时 日 月 周
一些定时表达式的例子:
每30分钟构建一次:H代表形参 H/30 * * * * 10:02 10:32
每2个小时构建一次: H H/2 * * *
每天的8点,12点,22点,一天构建3次: (多个时间点中间用逗号隔开) 0 8,12,22 * * *
每天中午12点定时构建一次 H 12 * * *
每天下午18点定时构建一次 H 18 * * *
在每个小时的前半个小时内的每10分钟 H(0-29)/10 * * * *
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午
4:38) H H(9-16)/2 * * 1-5
4、轮询SCM
轮询SCM,是指定时扫描本地代码仓库的代码是否有变更,如果代码有变更就触发项目构建。
注意:这次构建触发器,Jenkins会定时扫描本地整个项目的代码,增大系统的开销,不建议使用。
修改代码,并提交远程仓库
代码提交
刷新 gitlab 查看
代码改变,2分钟后会自动构建查看自动构建(代码不改变不会自动构建)
刷新 Tomcat 服务器并查看
二、Gitlab 配置 webhook
钩子服务
1、开启 webhook 功能
使用 root 账户登录到后台,点击 Admin Area -> Settings -> Network
勾选"Allow requests to the local network from web hooks and services"
切换到当前项目下进行设置
2、在项目添加 webhook,添加 webhook 和 Gitlab 插件
点击项目->Settings->Integrations
添加成功
3、进行测试
注意:以下设置必须完成,否则会报错!
Manage Jenkins->Configure System
回到 gitlab上再次 test
访问成功
4、成功后自动使用 web hook 完成构建
实际代码操作,更改开发环境代码
代码提交
查看Jenkins 自动构建
Tomcat 网页显示