Jenkins“构建触发器”显示UTC而不是本地或服务器时区

Jenkins“构建触发器”显示UTC而不是本地或服务器时区

当配置作业定期运行时,Jenkins 显示 UTC 时间。我希望 Jenkins 将时区显示为 America/New_York。

构建触发器显示 UTC 时区

Jenkins 版本 2.121.2 配置为使用时区 America/New_York 运行,如本文所述https://wiki.jenkins.io/display/JENKINS/Change+time+zone

我已经通过查看 java 进程确认了这一点,并且我可以看到传递的选项

jenkins    1706  7.1 79.5 16210100 12923272 ?   Ssl  May11 8541:26 /etc/alternatives/java -XX:+UseG1GC -Xms1g -Xmx12g -XX:MaxMetaspaceSize=512m -Dhudson.tasks.MailSender.SEND_TO_UNKNOWN_USERS=true -Djava.awt.headless=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York -DJENKINS_HOME=/var/lib/jenkins -jar -Dcb.distributable.name=RedHat / Fedora RPM -Dcb.distributable.commit_sha=888f01a54c12cfae5c66ec27fd4f2a7346097997 /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --httpPort=8080 --httpListenAddress=127.0.0.1 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

我还可以看到http://服务器/系统信息 java 选项 systeminfo

并且 user.timezone 也设置为 America/New_York 在此处输入图片描述

该服务器也配置为使用 America/New_York 时区:

# ls -lAF /etc/localtime
lrwxrwxrwx. 1 root root 38 Jan  7  2018 /etc/localtime -> ../usr/share/zoneinfo/America/New_York

# date
Thu Aug  2 15:01:36 EDT 2018

我不知道这是否重要,但詹金斯正在使用 OpenJDK:

/etc/alternatives/java -version
openjdk version "1.8.0_161"
OpenJDK Runtime Environment (build 1.8.0_161-b14)
OpenJDK 64-Bit Server VM (build 25.161-b14, mixed mode)

我希望“计划”框显示服务器时区或我的时区,而不是 UTC。

答案1

我最终通过设置BOTH实现了这个功能(如果没有用户设置它就无法工作):

  • -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York
  • -Duser.timezone=America/New_York

由于我在 Docker 中运行,所以我的完整命令行(可能对某些人有用)在这里:

docker run --name=jenkins -td -p 5000:5000 -p 80:8080 -v $HOME/jenkins_home:/var/jenkins_home -e "JAVA_OPTS=-server -XX:+AlwaysPreTouch -Xloggc:\$JENKINS_HOME/gc-%t.log -XX:NumberOfGCLogFiles=5 -XX:+UseGCLogFileRotation -XX:GCLogFileSize=20m -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintHeapAtGC -XX:+PrintGCCause -XX:+PrintTenuringDistribution -XX:+PrintReferenceGC -XX:+PrintAdaptiveSizePolicy -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -Xms5120m -Xmx10240m -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York -Duser.timezone=America/New_York" jenkins/jenkins:2.164.3

这考虑到了在https://jenkins.io/blog/2016/11/21/gc-tuning/

相关内容