1987WEB视界-分享互联网热点话题和事件

您现在的位置是:首页 > WEB开发 > 正文

WEB开发

Jenkins的定时构建时间设置

1987web2023-10-06WEB开发50
Jenkins自带两种模式,来管理定时触发构建项目:

Jenkins 自带两种模式,来管理定时触发构建项目:

  • Build periodically(定时构建):周期性进行构建,不限制于项目是否有变动;

  • poll scm(轮询):定时检查是否有改动,有改动进行触发构建,周期时间内无改动则不触发构建;

1、Build periodically(定时构建)配置

2、poll scm(轮询)配置

语法

0-59

0-23

1-31

1-12

0-7

表达式含义:

第一位:表示分钟,取值范围 0~59

第二位:表示小时,取值范围 0~23

第三位:表示每月第几天,取值范围 1~31

第四位:表示第几月,取值范围1~12

第五位:表示每周第几天,取值范围0~7,0和7代表的都是周日

特殊字符

代表的涵义

举例

*

所有可能的值

【月】字段是星号,则表示每月都执行操作

,

指定一个列表范围

【日】字段是1,2,5,表示1日、2日、5日执行操作

-

可以用整数之间一个范围

【时】字段是2-6,表示2,3,4,5,6小时执行操作

/

时间的间隔频率

【时】字段是0-23/2,则表示每两小时执行一次

正斜线和星号可以一起使用,例如:*/10,如在【分】字段,则表示每十分钟执行一次

H

分散负载

【分】字段是H,表达式H 7 * * *

表示7点-8点之间内执行操作,根据自身负载情况选择运行(可以理解为随机一个

0和7表示:周日

1-5表示:周一-周五,即工作日

6,7表示:周六和周日,即周末、非工作日

示例

定时构建需求

表达式

备注

周一至周五,9点 12点 16点定时触发

H 9,12,16 * * 1-5

每隔5分钟构建一次

H/5 * * * *

每隔30分钟

H/30 * * * *

每隔75分钟

H/15H/2* * *

如果写成:H/15 H/1 * * *

表示:每小时15分执行构建

所以,要注意H/2

每隔90分钟

H/30 H/2 * * *

每隔135分钟

H/15H/3* * *

每隔145分钟

H/35H/3 * * *

放到Jenkins上执行:

9:59:35-12:24:35

中间是2小时25分钟,即145分钟

每隔155分钟

H/25H/3 * * *

放到Jenkins上执行:

9:44:39-12:19:39

中间是2小时35分钟,即155分钟

每隔150分钟执行一次

H/30 H/3 * * *

每两小时构建一次

H H/2 * * *

每天凌晨2点构建一次

0 2 * * *

分钟是0,则每天的2:00进行构建

每天的6点执行,H表示不确定在哪一分钟上(分散负载)

H 6 * * *

每天中午12点定时构建一次

H 12 * * *

在每小时的前半小时内,每10分钟执行一次

H(0-29)/10 * * * *

每工作日,每2小时过去,从上午9:45开始,下午3:45结束,在第45分钟构建

45 H(9-15)/2 * * 1-5

工作日,9点45-16点45,每2小时执行一次

45 H(9-15)/2 * * 1-5

每两小时一次,每个工作日上午9点到下午4(4:59)

H H(9-16)/2 * * 1-5

注意:这里的4点,如果理解为16:00则写成9-15,如果理解为16:59,则写成9-16

以下涉及到N点,均指N点59分

工作日,8点-16点之间,每隔2小时执行一次

H H(8-16)/2 * * 1-5

例如放到Jenkins上执行:

14:43:59-16:43:59

每星期的星期一到星期五的10:45分执行

45 10 * * 1-5

每天上午10点,下午2点,4点

0 10,14,16 * * *

朝九晚五工作时间内每半小时

H/30 9-17 * * 1-5

工作日1,3,5每一个半小时运行一次

H/30 H/2  * * 1,3,5

工作日,早8晚5,每隔120分钟执行一次

H 8-17/2 * * 1-5

周末早5点10分,到晚10点30分,每隔0.5小时执行一次

H/30 5-22* * 6,7

工作日,早9晚6,每隔75分钟执行一次

H/15 9-18/2  *  *  1-5

周末早6点10分,到晚11点30分,每隔135分钟执行一次

H/15  6-23/3  *  *  6,7

1月-11月的1号和15号,执行一次(不固定在某个小时和某个分钟上)

H H 1,15 1-11 *

每天的6点10分执行

10 6 * * *

工作日8点执行

0 8 * * 1-5

其它示例

定时构建需求

表达式

备注

每天的9点,17点,22点,一天构建3次

H 9,17,22 * * *

周六及周日,每8点到12点,60分钟运行一次,12点到23点,30分钟运行一次

H 8-12 * * 6,7

H/30 12-23 * * 6,7

写2行

每周一至周五,每天早8点至晚5点之间每隔125分钟构建一次

H/5 H(8-17)/3 * * 1-5

周六1点至23点 每隔60分钟执行一次

H 1-23 * * 6

周日2点至22点 每隔75分钟执行一次

H/15 H(2-22)/2 * * 0

周日还可以用7表示,写成:H/15 H(2-22)/2 * * 7

工作日,早9晚6,每隔75分钟执行一次

H/15 H(9-18)/2 * * 1-5

周末早6点10分,到晚11点30分,每隔135分钟执行一次

H/15 H(6-23)/3 * * 6,7

工作日1,3,5每一个半小时运行一次,非工作日早6点到晚6点,每50分钟运行一次

H/30 H/2 * * 1,3,5

H/50 H(6-18) * * 6-7

写2行

每一个半小时运行一次

H/30 H/2 * * *

工作日早8晚7,工作日每隔150分钟执行一次

H/30 H(8-19)/3 * * 1-5

非工作日每两小时执行一次

H H/2 * * 6,7

早9晚6,工作日,每隔2小时执行脚本

H H(9-18)/2 * * 1-5

周末每隔3小时执行脚本

H H/3 * * 6-7

每隔1小时执行一次

H * * * *

工作日每天早9晚6每隔2小时,和周末凌晨1点,3点,4点执行三次

H H(9-18)/2 * * 1-5

H 1,3,4 * * 6,7

工作日早8晚7,每隔150分钟执行一次

H/30 H(8-19)/3 * * 1-5

Tips:如果有拿捏不准的,可以放到Jenkins上测试验证,如果遇到周末,而当天是工作日,可以把周末先改成*,验证完再改回6,7

同样,如果要验证12点的执行情况,而当前是14点,可以把12改成14进行验证,验证完再改回12

本章我们使用Jenkins,结合Maven、Docker、Selenium和JMeter等工具,建立一个可持续交付的自动化设施。

持续交付工作流程

从代码提交开始,建立一个包括自动测试和自动部署的持续交付工作流程如图15-2所示。

这个工作流程的步骤如下所示:

(1)开发者向GitLab提交代码。

(2)GitLab使用 WebHook通知Jenkins有代码更新。

(3)Jenkins 从节点(Slave)拉取代码,打包并构建镜像。

(4)Jenkins使用从节点上构建的镜像运行测试用例。

(5)如果测试(Test)通过,则将镜像推送到镜像仓库。

(6)Jenkins在应用服务器上进行更新部署。

(7)Jenkins将构建报告以邮件方式通知开发者。

在开发者向代码库提交代码之后,整个流程都是自动进行的。如果中间某个环节出现错误,则中止流程的执行,并将结果通知相关人员。提交的代码不仅包括应用程序,还包括构建镜像的脚本、测试用例的脚本和部署的编排脚本等。

其中,各个步骤的操作可以使用插件或直接在命令行中使用各种工具来完成。

例如,拉取项目代码会用到Git插件;打包项目会用到 Maven;构建镜像和应用部署可直接通过命令行使用Docker或docker-compose;集成测试可通过命令行执行由Selenium、JMeter等生成的脚本。

下面,我们通过一个简单的案例,演示和说明Jenkins 的使用方法。

Jenkins的安装

下面的安装过程以MacOS为例进行说明。

因为Jenkins需要JVM的支持,所以请确保机器上已经安装了JDK 1.8或以上版本。为了完成后面的自动化演示,请确保机器中已经安装了Maven、Git客户端和 Docker等。

打开Jenkins官网,进入下载页面,选择左边的LTS稳定版中的Mac OSX版本进行下载,如图15-3所示。

下载完成后,单击安装包jenkins-2.89.1.pkg开始安装。

安装过程比较简单,直接单击继续按钮,按提示使用系统推荐使用的插件即可。安装完成后,通过下列网址打开本地的Jenkins控制台:

http://localhost:8080

第一次打开后会看到如图15-4所示页面。

按图15-4的提示打开管理员密码文件,把密码复制并粘贴到密码输入框中,单击右下角的Continue 按钮。如果密码验证成功,则会提示读者创建一个操作员用户。在创建用户之后,即可登录Jenkins控制台。新用户登录的欢迎界面如图15-5所示。

Jenkins的基本配置

由于要用到Maven编译和打包,所以单击欢迎界面的系统管理→全局工具配置选项,如图15-6所示,打开全局工具配置对话框。

在全局工具配置对话框中单击Maven安装选项,配置一个名字,并设置Maven的安装路径,如图15-7所示。

微服务架构实战:使用Jenkins实现自动化构建

使用Jenkins实现自动化构建

  • 下一篇只需5分钟,教你完成华为云Jenkins环境搭建

    只需5分钟,教你完成华为云Jenkins环境搭建