[原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

时间:2023-03-08 17:11:12

缘由: 使用jenkins的目的需要固定时间构建和间隔固定时间构建,所以才会用到这两个功能。

位置:这两个功能的位置位于每个job的config项中,如下图:

[原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

【重要的注意点:】

           1)jenkins所在主机的当前时间

                     [原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

2)确认设置的执行时间点:(此时间必须比主机当前时间晚)

                  [原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

【 需要了解的知识:】

     * * * * *

(五颗星,中间用空格隔开)
第一颗*表示分钟,取值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 * * *
(多个时间点,中间用逗号隔开)
40 12 * * 1-7
每天12点40分执行构建

【需要了解的功能】 

      Poll SCM

说白了就是是让其自动每隔一段固定时间去检查版本管理工具(SVN/GIT)上的代码是否有改动,如果有改动就进行构建

专业术语就是:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作

示例:

每分钟都去检查版本库是否有更新 如果有更新就进行构建

[原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

"[原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCMDo you really mean "every minute" when you say "* 1 * * *"? Perhaps you meant "H 1 * * *" to poll once per hour"  的意思是让你确认,填写的是否是你需要的那个时间段

Build periodically

说白了就是让jenkins在固定的时间自动构建项目

专业术语就是:周期性进行项目构建,这个是到指定的时间必须触发构建任务

示例:

晚上八点进行构建

[原]Jenkins(二十一) jenkins再出发Build periodically和Poll SCM

Build after other projects are built

                       说白了就是连续一个接着一个的进行构建,多个jobs用逗号(,)隔开。比如一个web项目构建完成了,就接着进行自动化测试的构建

专业术语:同上

        这有三个可选项,默认第一个用的场景比较多

        Trigger only if build is stable:构建稳定时触发

Trigger even if the build is unstable :构建不稳定时触发

        Trigger even if the build fails : 构建失败的时候触发
                       Trigger builds remotely (e.g., from scripts)
                        触发远程构建 (例如:使用脚本)
                       GitHub hook trigger for GITScm polling
                       Github上代码有变动就进行构建