jenkins学习14-构建触发器之定时构建和轮询 SCM
前言
跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。
jenkins的定时任务是用的crontab语法,参考这篇https://www.cnblogs.com/yoyoketang/p/11167181.html
定时构建语法
五颗星,中间用空格隔开
* * * * *
- 第一颗*表示分钟,取值0~59
- 第二颗*表示小时,取值0~23
- 第三颗*表示一个月的第几天,取值1~31
- 第四颗*表示第几月,取值1~12
- 第五颗*表示一周中的第几天,取值0~7,其中0和7代表的都是周日
1.每30分钟构建一次:
H/30 * * * *
2.每2个小时构建一次
H H/2 * * *
3.每天早上8点构建一次
0 8 * * *
4.每天的8点,12点,22点,一天构建3次
0 8,12,22 * * *
(多个时间点,中间用逗号隔开)
定时构建(Build periodically)
定时构建(Build periodically):周期性进行项目构建,这个是到指定的时间必须触发构建任务.
比如我想在每天的9点,17点,朝九晚五各构建一次,在定时构建(Build periodically)里设置如下
这时候会看到一个提示分散负载应该用 ‘H 9,17 * * *’ 而不是 ‘0 9,17 * * *’
,这个意思是让我们尽量用H 9,17 * * *
那么前面的H是什么意思呢?
为了允许定期计划的任务在系统上产生负载,应在可能的情况下使用符号H ( for"哈希") 。
例如对于十几个日常工作,使用 0 0 * * * 将导致午夜的大峰值。 相反,使用H * * * 每天仍然会执行每一次作业,但同时使用有限的资源,更好地使用有限的资源。
所以这里改成H 9,17 * * *
可以看到下次运行的时间:
上次运行的时间 Tuesday, March 24, 2020 5:14:12 PM CST; 下次运行的时间 Wednesday, March 25, 2020 9:14:12 AM CST.
轮询 SCM(Poll SCM)
轮询 SCM(Poll SCM):定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作
如果我想每隔30分钟检查一次源码变化,有变化就执行:H/30 * * * *
忽略钩子 post-commit: 关于钩子(webhook)可以参考这篇https://www.cnblogs.com/yoyoketang/p/12535907.html
如果勾选了,那么前面那篇设置的钩子(webhook)就会失效。