Time
如何讓 Jenkins CI 在 debian 擠壓上使用本地時間而不是 UTC
我在 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