Time

如何讓 Jenkins CI 在 debian 擠壓上使用本地時間而不是 UTC

  • January 22, 2019

我在 debian 擠壓機上安裝了 Jenkins-ci。

目前預設時區:“美國/多倫多”
當地時間現在是:Mon Jul 9 16:00:57 EDT 2012。
現在是世界時間:2012 年 7 月 9 日星期一 20:00:57 UTC。

在 /etc/default/rcS 文件中,我有:

UTC=否

不幸的是,這不起作用,在詹金斯的系統資訊中:

user.timezone 等/UTC

我搜尋了幾個小時.. 不幸的是找不到修復任何幫助將不勝感激。

感謝您的時間

啟動 Jenkins 時,您需要將所需的 user.timezone 值作為 JVM 參數傳入。Java 命令行將類似於:

$JAVA_HOME/java -Duser.timezone="America/Toronto" [other JVM parameters] $JENKINS_HOME/jenkins.jar

不幸的是,我不熟悉 Debian 安裝,但 JVM 參數應該在 /etc/init.d/jenkins 腳本或從該腳本引用的屬性文件中定義。

三年後,我發現了幾個讓這個工作的陷阱。因此,我將詳細說明已接受的答案(這是正確的)並為 CentOS 添加完整的答案。


問題 #1:要更改的 Jenkins 設置

目前有關更改時區的 Jenkins 文件說要定義user.timezone org.apache.commons.jelly.tags.fmt.timeZone. 但是,我發現兩者都是必要的。果凍適用於 Jenkins 本身和一些外掛,而使用者適用於其他外掛。


問題 #2:要更新的作業系統設置

對於美國東部的 CentOS,編輯/etc/sysconfig/jenkins為:

JENKINS_JAVA_OPTIONS="-Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York -Duser.timezone=America/New_York"
JENKINS_ARGS=""

如果將這些-D設置放入JENKINS_ARGS,它將不起作用。


問題3:重新啟動

您必須從命令行重新啟動整個服務。僅僅做一個 Jenkins 安全重啟是不夠的。所以:

sudo service jenkins restart

完成所有這些後,檢查Jenkins 系統資訊面板中的兩個時區設置是否匹配:http: //jenkins.example.com/systemInfo

引用自:https://serverfault.com/questions/406181