System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone','Asia/Shanghai')
永久修改以容器化方式運行的Jenkins系統時間
用dockerfile修改官方鏡像
加上環境變量ENV TZ=Asia/Shanghai
或者
修改容器啟動腳本/usr/local/bin/jenkins.sh,給java傳入啟動參數:
-Duser.timezone=Asia/Shanghai
或
-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai
docker run的時候修改
運行docker run的時候加上下面三種選項中的一種:
-e JAVA_OPTS='-Duser.timezone=Asia/Shanghai'
-e TZ='Asia/Shanghai'
-e JAVA_OPTS='-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Shanghai'
或者
docker run 命令最后添加上面的JAVA_OPTS參數中的一種,這是直接傳入給容器內 /usr/local/bin/jenkins.sh(ENTRYPOINT) 的參數,比如:
-Duser.timezone=Asia/Shanghai
或者
用bind mounts把修改好的jenkins.sh替換進容器內文件 /usr/local/bin/jenkins.sh 。注意:由於容器內是uid 1000的用戶運行這個腳本,記得加上執行權限:chmod o+x jenkins.sh
3.如果啟動容器的時候沒有加參數,想要永久修改時區
可以在$JENKINS_HOME目錄下創建文件init.groovy文件,或者創建目錄$JENKINS_HOME/init.groovy.d/,並在這個目錄下面創建任何以.groovy結尾的文件,在任意一個上述文件內填入下面內容即可,這些文件內容會在jenkins每次啟動后加載。
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
。