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')
。