一、代码提交—>gitlab自动通知jenkins构建
1、创建一个测试新任务
需要的插件有:GitLab 和 Gitlab Hook
配置任务 GIT 地址:
配置自动构建:
注:Allowed branches :
Allow all branches to trigger this job #允许所有分支触发此作业
Filter branches by name #按名称过滤分支
Include :dev #允许触发构建的分支,dev分支提交会自动构建
Exclude:master #排除触发构建的分支,此时master分支提交不会自动构建Filter branches by regex #通过正则表达式过滤分支
Source Branch Regex: #源分支正则表达式
Target Branch Regex:.*dev #目标分支正则表达式,允许触发构建的dev分支Filter merge request by label #按标签过滤合并请求
Include: #允许触发构建的标签
Exclude: #排除触发自动构建的标签
添加构建操作:
保存配置!
2、Gitlab 配置项目连接 Jenkin
3、提交 Gitlab 项目的 Master 分支测试自动构建
4、查看Jenkins是否构建
此时会过来查看 Jenkins:
可以看到触发构建成功,而且可以看到是谁提交了代码触发的构建!
二、jenkins轮询SCM 构建
按一定时间轮询检测gitlab是否有代码更新。
1、语法说明
该字段遵循cron的语法(略有不同)。具体来说,每行包含5个用TAB或空格分隔的字段:
分钟小时DOM DOW
分钟 | 一小时内的分钟数(0–59) |
---|---|
小时 | 一天中的时间(0–23) |
DOM | 一个月中的某天(1-31) |
月 | 月(1–12) |
DOW | 星期几(0–7),其中0和7是星期日。 |
要为一个字段指定多个值,可以使用以下运算符。按照优先顺序
-
*
指定所有有效值 -
M-N
指定值范围 -
M-N/X
或*/X
按X的间隔逐步达到指定范围或整个有效范围 -
A,B,...,Z
枚举多个值
例子:
#每十五分钟(也许在:07,:22,:37,:52)
H / 15 * * * *
#在每小时的前半部分每十分钟(三遍,也许在:04,:14,: 24)
H(0-29)/ 10 * * * *
#每隔一个小时的45分钟,每两小时一次,从上午9:45开始,在每个工作日的下午3:45结束。
45 9-16 / 2 * * 1-5
在上午9点和下午5点每个工作日之间每隔两小时时隙#一次(或许在上午10时38分,下午12点38,下午2点38分,下午4点38)
HH (9-16)/ 2 * * 1-5
#每月的1号和15号每天一次,12月
HH 1,15 除外1-11 *