Jenkins(8)构建触发器之定时构建和轮询 SCM

前言

跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行。
jenkins的定时任务是用的crontab语法
 

定时构建语法

五颗星,中间用空格隔开

* * * * *
  • 第一颗*表示分钟,取值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):周期性进行项目构建,这个是到指定的时间必须触发构建任务.
比如我想在每天的10点构建一次,在定时构建(Build periodically)里设置如下
Jenkins(8)构建触发器之定时构建和轮询 SCM
这时候会看到一个提示分散负载应该用 H 10 * * * 而不是 0 10 * * *,这个意思是让我们尽量用H 10 * * *
那么前面的H是什么意思呢?

为了允许定期计划的任务在系统上产生负载,应在可能的情况下使用符号H ( for"哈希") 。 
例如对于十几个日常工作,使用 0 0 * * * 将导致午夜的大峰值。 相反,使用H * * * 每天仍然会执行每一次作业,但同时使用有限的资源,更好地使用有限的资源。

所以这里改成H 10 * * *
 

轮询 SCM(Poll SCM)

轮询 SCM(Poll SCM):定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作
如果我想每隔30分钟检查一次源码变化,有变化就执行:H/30 * * * *
Jenkins(8)构建触发器之定时构建和轮询 SCM

上一篇:使用git svn工具进行svn 到git仓库的同步[持续更新]


下一篇:贝叶斯之父Judea Pearl推荐:机器学习因果推理的7个有用工具