jenkins构建触发器定时任务Build periodically和Poll SCM【转载】

本文详细介绍了如何在Jenkins中设置定时任务,包括构建周期、源码检查和作业关联等功能。通过实例展示了如何配置定时构建语法,实现周期性构建、源码变更检测以及构建任务之间的联动。

前言

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

 

一、定时构建语法

* * * * *

(五颗星,中间用空格隔开)

第一颗*表示分钟,取值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 * * *

(多个时间点,中间用逗号隔开)

5.问题来了:每个月的1-7号一天构建一次咋写呢?

请在屏幕下方写出你的答案,写对有奖励!

 

二、Build periodically

1.Build periodically:周期性进行项目构建,这个是到指定的时间必须触发构建任务

2.比如我想在每天的9点,17点,朝九晚五各构建一次,在Build periodically里设置如下

3.上面红色字体:Spread load evenly by using ‘H 9,17 * * *’ rather than ‘0 9,17 * * *’,这句话大概意思就是说,用这个语法会比后后面那个好:H 9,17 * * *

4.下一次构建时间是05时48分06秒,然后再下次是09时48分06秒

 

二、Poll SCM

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

2.如果我想每隔30分钟检查一次源码变化,有变化就执行

 

三、Job关联

1.举个案例场景,比如我下面Job1是web项目打包并发布的构建任务,我想每次打完包发布后,然后触发自动化测试Job2的构建。

(当然发布后,一般会等几分钟才会完全加载完成,再下一次构建的时候,可以用python加个脚本sleep几分钟)

2.构建触发器勾选Build after other projects are built,Projects to watch输入Job1的名称

(这里可以输入多个依赖的jobs,多个job中间用逗号隔开)

3.下面有三个选择,一般默认第一个就行

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

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

Trigger even if the build fails : 构建失败的时候触发

4.上面设置好后,启动第一个Job完成后,就能接着启动第二个Job了

 

四、另外两种

1.触发远程构建 (例如,使用脚本)

2.GitHub hook trigger for GITScm polling: 这个是管理github上代码有变动时构建

最后这2个一般用的也少,了解下就行

 

注:Build periodically和Poll SCM两者是可以结合起来使用的

配置 Jenkins 构建触发器可以根据不同的触发方式来进行设置,以下为常见的几种配置方法: ### 1. 远程触发构建 Jenkins 支持通过预定义的 URL 触发构建,这在脚本中非常方便。为了启用此功能,需要确保匿名用户具有读取权限。具体步骤如下: - 进入 **系统管理 - 全局安全配置 - 授权策略**,确保 **匿名用户具有可读权限**。 - 在 Jenkins 的项目配置页面中,找到 **构建触发器**,选择 **触发远程构建**。 - 在 **认证令牌**(Authentication Token)字段中填写一个 token,或者点击 **生成** 按钮生成一个。 触发构建的 URL 格式如下: ``` http://JENKINS_URL/buildByToken/build?job=JOB_NAME&token=TOKEN ``` 例如: ``` http://172.xx.xx.xxx:8088/buildByToken/build?job=vis_demo&token=build ``` ### 2. GitLab PUSH 触发构建 如果使用 GitLab 作为代码仓库,并希望在推送代码时自动触发构建,则需要安装 GitLab 插件并进行如下配置: - 安装 GitLab 插件。 - 在 Jenkins 的项目配置页面中,找到 **构建触发器**,选择 **GitLab Hook 触发器**。 - 设置需要跟踪变化的分支,可以选择允许所有分支的变化触发构建,也可以指定具体分支,例如 `master`。 - 生成一个 token,用于 GitLab 的 Webhook 配置。 - 登录 GitLab 管理员账号,在项目设置中的 **Integrations** 添加 Webhook,填入 Jenkins 的 GitLab Hook URL,并设置触发事件(如 Push)。 ### 3. 参数化构建触发 如果需要在触发构建时传递参数,可以使用 `buildWithParameters` 接口。例如: ``` http://localhost:8848/job/JOB_NAME/buildWithParameters?token=TOKEN&PARAM1=value1&PARAM2=value2 ``` ### 4. 构建后触发其他项目 如果希望在一个项目构建完成后触发另一个项目的构建,可以在 **构建后操作** 中选择 **构建其他项目**,并填写要触发的项目名称。 ### 示例代码 如果使用 Shell 脚本触发 Jenkins 构建,可以使用 `curl` 命令: ```bash curl -X POST http://172.xx.xx.xxx:8088/buildByToken/build?job=vis_demo&token=build ``` 如果需要传递参数,可以使用以下命令: ```bash curl -X POST "http://localhost:8848/job/JOB_NAME/buildWithParameters?token=TOKEN&PARAM1=value1" ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值