jenkins job未按设置的时间执行

2018-03-20  本文已影响0人  睁眼看自己

背景:我们使用docker部署环境,把服务器的jenkins挂载到docker容器中运行。在jenkins中设置了job定时执行时间,却发现未按设置的时间运行

首先看了下历史构建版本的时间,跟jenkins中设置的执行时间刚好差8个小时,所以估计是时区的问题。

登录服务器发现/etc/localtime显示的时区为UTC,服务器上没有timezone文件(centos没有timezone文件)。但是docker运行后会从timezone中读取参数。

第一步:修改服务器上的localtime

删除原先的软链接:rm -rf /etc/localtime

然后重新创建软链接至正确的时区:ln -s /usr/share/zoneinfo/Asia/Shanghai

第二步:添加timezone文件

创建文件:touch /etc/timezone

添加内容:Asia/Shanghai

第三步:docker运行时把服务器的localtime和timezone文件一起挂载到容器中

在docker run命令中增加: -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime

保存后push代码,重新发布最新的代码至服务器,此时去jenkins 系统信息中可以看到

user.timezone       Asia/Shanghai

第四步:验证问题是否得以解决,job是否按设置的时间执行

经验证,确实按设置的时间执行job。

上一篇下一篇

猜你喜欢

热点阅读