詹金斯在码头工人-如何更改时区

Lac*_*cer 2 jenkins docker

题:

  • 如何在docker容器中的jenkins中设置时区,以便在重新启动服务器时保留设置?

所以我正在使用docker和jenkins(https://hub.docker.com/r/jenkinsci/blueocean/)在AWS上运行RHEL 7 。

本文讨论了如何更改时区 https://wiki.jenkins.io/display/JENKINS/Change+time+zone

本质上有两种方式

  1. 在可以正常工作的脚本控制台中运行System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone','America / New_York'),但如果重新启动服务器或詹金斯,它将还原
  2. 将其添加到/ etc / sysconfig / jenkins,不幸的是该目录不存在,因为它正在容器中运行

但是我以这种方式为设置文件夹创建了一个卷

docker run -d -p 8080:8080 -v $PWD/jenkins:/var/jenkins_home:z -t jenkinsci/blueocean 
Run Code Online (Sandbox Code Playgroud)

这使主目录为“ jenkins-blue”

目录列表是

4 -rw-r--r--.   1 <omitted user>  1647 Feb 27 17:00 config.xml
4 -rw-r--r--.   1 <omitted user>  3982 Feb 27 16:57 copy_reference_file.log
4 -rw-r--r--.   1 <omitted user>   966 Feb 27 17:04 credentials.xml
0 drwxr-xr-x.   3 <omitted user>    16 Feb 27 17:06 fingerprints
4 -rw-r--r--.   1 <omitted user>   156 Feb 27 16:57 hudson.model.UpdateCenter.xml
4 -rw-r--r--.   1 <omitted user>  1230 Feb 27 17:07 hudson.plugins.emailext.ExtendedEmailPublisher.xml
4 -rw-r--r--.   1 <omitted user>   370 Feb 27 16:58 hudson.plugins.git.GitTool.xml
4 -rw-------.   1 <omitted user>  1712 Feb 27 16:57 identity.key.enc
0 drwxr-xr-x.   2 <omitted user>    41 Feb 27 16:57 init.groovy.d
4 -rw-r--r--.   1 <omitted user>    94 Feb 27 16:58 jenkins.CLI.xml
4 -rw-r--r--.   1 <omitted user>     7 Feb 27 17:00 jenkins.install.InstallUtil.lastExecVersion
4 -rw-r--r--.   1 <omitted user>     7 Feb 27 17:00 jenkins.install.UpgradeWizard.state
4 -rw-r--r--.   1 <omitted user>   183 Feb 27 17:00 jenkins.model.JenkinsLocationConfiguration.xml
4 -rw-r--r--.   1 <omitted user>   171 Feb 27 16:57 jenkins.telemetry.Correlator.xml
0 drwxr-xr-x.   3 <omitted user>    18 Feb 27 17:00 jobs
0 drwxr-xr-x.   4 <omitted user>    37 Feb 27 16:58 logs
4 -rw-r--r--.   1 <omitted user>   907 Feb 27 16:58 nodeMonitors.xml
0 drwxr-xr-x.   2 <omitted user>     6 Feb 27 16:58 nodes
20 drwxr-xr-x. 106 <omitted user> 16384 Feb 27 16:59 plugins
4 -rw-r--r--.   1 <omitted user>   129 Feb 28 17:35 queue.xml
4 -rw-r--r--.   1 <omitted user>    64 Feb 27 16:57 secret.key
0 -rw-r--r--.   1 <omitted user>     0 Feb 27 16:57 secret.key.not-so-secret
4 drwx------.   4 <omitted user>  4096 Feb 27 17:14 secrets
0 drwxr-xr-x.   2 <omitted user>   182 Feb 27 16:59 updates
0 drwxr-xr-x.   2 <omitted user>    24 Feb 27 16:58 userContent
0 drwxr-xr-x.   3 <omitted user>    57 Feb 27 17:00 users
4 drwxr-xr-x.  11 <omitted user>  4096 Feb 27 16:57 war
0 drwxr-xr-x.   2 <omitted user>     6 Feb 27 16:58 workflow-libs
0 drwxr-xr-x.   4 <omitted user>    34 Feb 27 17:06 workspace
Run Code Online (Sandbox Code Playgroud)

Vox*_*Vox 6

System Management -> Script command line在\xef\xbc\x9a中运行

\n\n
System.setProperty(\'org.apache.commons.jelly.tags.fmt.timeZone\', \n\'Asia/Shanghai\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

https://wiki.jenkins.io/display/JENKINS/Change+time+zone

\n\n

顺便说一句,我将其添加到我的定时任务中:

\n\n
TZ=Asia/Shanghai\n40 15 * * 1-5\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者

\n\n
docker run ... -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai\n
Run Code Online (Sandbox Code Playgroud)\n\n

https://github.com/jenkinsci/docker/issues/45

\n


Zho*_*ouX 5

您可以将TZ环境应用于您的docker-compose,如下所示:

image: jenkins/jenkins:alpine
container_name: jenkins
hostname: jenkins
restart: always
environment:
  - TZ=Asia/Shanghai
volumes:
  - ./jenkins/data:/var/jenkins_home
  - ./jenkins/bin/jenkins.war:/usr/share/jenkins/jenkins.war
Run Code Online (Sandbox Code Playgroud)

  • 如果没有 docker compose,只需添加 `-e TZ=Asia/Shanghai` (2认同)