jenkins时区设置


在Centos系统配置

背景

找到jenkins的启动配置,centos在:

/etc/sysconfig/jenkins

修改如下:

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai"

然后重启jenkins即可

Tips

可参考这个地方:https://wiki.jenkins.io/display/JENKINS/Change+time+zone

出处:https://www.cnblogs.com/jwentest/p/7270692.html

=======================================================================================

Jenkins 是通过 apt 安装,修改 /etc/default/jenkinsJAVA_ARGS 配置增加参数 -Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai

参考:

  • How to add Java arguments to Jenkins?
  • Jenkins 时区设置问题
  • Change time zone | Jenkins Wiki
  • 如何在Ubuntu 18.04上设置或更改时区

出处:https://www.cnblogs.com/shaobin0604/p/12559979.html

=======================================================================================

在上面的连接 Jenkins 时区设置问题 ,评论中有很多人给出了解答方法,下面摘抄部分内容


在【系统管理】-【脚本命令行】里运行

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

都没有人看官方文档Change+time+zone的吗?


楼上别装逼,坑啊,我还以为真的是一直没解决,差点误导我。
根本原因是jenkins用的是jvm的时间,所以会导致跟后面修改的系统时间,还是不一样,照下面的做法就可以了。我已经解决了。

Linux下jvm时区设置
在一个精简的Linux安装上jre,发现所有的java程序获取的时间都不是系统时间。后来发现原来是时区不对。java程序获取的时间都是GMT时间,而系统是北京时间,应该是GMT+8,刚好相差8小时。网上搜了好多资料,只有两种方法:
1、在程序中使用java的函数设定时区。
2、在启动java程序时加参数-Duser.timezone=GMT+8

不过总不能去修改每个程序的源码去设定时区吧。也不想在每个java程序启动的时候加参数,太麻烦了。就没有一劳永逸的办法了?

开始以为jre应该会有某个配置文件保存了时区的配置,结果一无所获。不过总有jre总要去系统中获取时区配置吧。于是开始想是不是java用的是linux中的系统配置文件?于是到linux系统下/etc/sysconfig目录看时区配置。发现缺少了clock这个用于设置时区的文件。把别的linux系统中的这个文件拷过来一试,ok。java程序的时间和系统时间一致了。看来jre是从/etc/sysconfig/clock这个文件中获取时区信息的。

附clock文件内容:

ZONE="Asia/Shanghai"
UTC=false
ARC=false

ZONE -- 时区
UTC -- 表明时钟设置为UTC。
ARC -- 仅用于alpha表明使用ARC。


 新版本已经支持在页面配置了,dashboard->用户列表->admin->设置->用户自定义时区

 出处:https://segmentfault.com/q/1010000000749249

=======================================================================================

=======================================================================================

=======================================================================================