jenkin设置定时构建及时区修改

1)启动 Jenkins 后在首页点击"开始创建一个新任务"。
2)输入任务名称,选择自由风格,点击“确定”。
1) 任意输入描述,然后勾选"丢弃旧的构建", 在"保持构建的最大个数中"输入 3。
1)勾选"参数化构建过程",选择添加"字符参数"
2)设置参数名称、默认值和描述
1)在"构建触发器"中勾选"定时构建",日程表中输入H2/ * * * *,表示每两分钟构建一次。
1)在构建中选择执行 shell,简单的执行一条打印语句,打印上面设置好的参数param;设置好之后保存即可。

可以看到构建结果是每 2 分钟构建一次,且只保留最近的 3 次构建,参数 param使用了默认值Jenkins。
打开控制台输出可以看到执行的日志信息。
如果想要修改参数值,选择Build with Parameters,修改参数,点击开始构建即可。
在上述设置定时构建时,输入了一行命令H2/ * * * *来表示每隔 2 分钟构建一次,这是一种crontab的写法,具体描述分五个部分:

星号(*):代表所有可能的值,例如 month 字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”。
中杠(-):可以用整数之间的中杠表示一个整数范围,例如 “2-6” 表示 “2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如 “0-23/2” 表示每两小时执行一次。同时正斜线可以和星号一起使用,例如 */10,如果用在 minute 字段,表示每十分钟执行一次。
但是实际在 Jenkins 中进行定时构建时,写法相似但是还是有区别,还是以上述的H2/ * * * 来表示每隔 2 分钟为例,当我们用/2 * * * *写法时:
可以看到 Jenkins 建议我们使用H来代表通配符,因此在表示每隔多久时建议使用H/的方式。
另外,如果表示每天上午 9 点构建,如果使用0 9 * * *:
可以看到 Jenkins 建议我们使用H 9 * * *的方式:
下面是一些常用定时方式的参考示例:
1.每 30 分钟构建一次:H/30 * * * *。
2.每 2 小时构建一次:H H/2 * * *。
3.每天早上 9 点构建一次:H 9 * * *。
4.每天 8 点、12 点、21 点各构建一次:H 8,12,21 * * *。
5.周一至周五,每天 22 点到 23 点之间每隔 3 分钟构建一次:H/3 22-23 * * 1-5。
运行完毕后,会发现一个问题,构建的时间与我们实际的时间不一致:

Jenkins 显示时间
系统实际时间
因为我们是用 Docker 部署的,所以再通过打印 Docker 容器的时间进行查看:
再进入"系统管理"->“系统信息”->“user.timezone"查看

先查看服务器localtime本地时区的参数是不是北京时区,如果不是,则cat之后输出的是UTC信息,这个时候只要把/usr/share/zoneinfo/Asia/Shanghai时区配置拷贝到/etc/localtime就行了,如果是北京时区则输出的信息和Shanghai时区的配置是一样的。

xxx-dell720:~$ cat /etc/localtime
Etc/UTC
xxx-dell720:~$ cat /usr/share/zoneinfo/Asia/Shanghai
接着拷贝服务器的本地时区配置到Jenkins容器,执行以下命令:

docker cp /etc/localtime jenkins:/etc/
接着进入容器看下,执行以下命令进入容器:

docker exec -it jenkins bash
用date命令查看当前配置的时区参数,在没配置之前显示的是UTC的时间,配置完之后输出CST的时间就是北京时区的时间。

root@8c2dc86edb36:/# date
Fri Jan  8 07:49:23 UTC 2021

root@8c2dc86edb36:/# date
Fri Jan  8 16:13:13 CST 2021
接着可以重启下jenkins确认配置是否会失效,用以下命令重启:

docker restart jenkins
[各时区时间参考链接](https://www.worldtimebuddy.com/)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值