Tengo una instalación Jenkins-ci en un debian squeeze.
Zona horaria predeterminada actual: 'América / Toronto' La hora local es ahora: lunes 9 de julio 16:00:57 EDT 2012. La hora universal es ahora: lunes 9 de julio 20:00:57 UTC 2012.
En el archivo / etc / default / rcS tengo:
UTC = no
Desafortunadamente esto no está funcionando, en la información del sistema de jenkins:
user.timezone Etc / UTC
Busqué durante unas horas ... lamentablemente no pude encontrar una solución, cualquier ayuda sería muy apreciada.
Gracias por tu tiempo
Respuestas:
Debe pasar el valor requerido de user.timezone como argumento JVM cuando inicie Jenkins. La línea de comando de Java se verá así:
Desafortunadamente, no estoy familiarizado con la instalación de Debian, pero los parámetros de JVM deben definirse en el script /etc/init.d/jenkins o en un archivo de propiedades al que se haga referencia desde ese script.
fuente
/etc/init.d/rc.local
. Probablemente funcionó si has tenido un script de inicio Sysv para iniciar Jenkins. Hay algunos ejemplos en el sitio web de Jenkins. ElUTC=no
en/etc/default/rcS
nada tiene que ver con la zona horaria en su máquina. Indica si la hora almacenada en el reloj de hardware es la hora local o la hora UTC. Acerca de ajustar el tiempo, usarntp
o cualquier otro demonio NTP como cliente, ya que ajustará lentamente el tiempo sin viajar en el tiempo.Tres años después, encontré varias trampas para que esto funcionara. Entonces, detallaré la respuesta aceptada (que es correcta) y agregaré una respuesta completa para CentOS.
Gotcha # 1: la configuración de Jenkins para cambiar
La documentación actual de Jenkins sobre el cambio de zona horaria dice definir
user.timezone
oorg.apache.commons.jelly.tags.fmt.timeZone
. Pero, he encontrado que ambos son necesarios. El jalea uno funciona para Jenkins propiamente dicho y algunos complementos, mientras que el usuario uno trabaja para otros complementos.Gotcha # 2: la configuración del sistema operativo para actualizar
Para CentOS en el este de los EE. UU., Edite
/etc/sysconfig/jenkins
en:Si pone esta
-D
configuraciónJENKINS_ARGS
, no funcionará.Gotcha # 3: reinicio
Debe reiniciar desde la línea de comandos, todo el servicio. Simplemente hacer un reinicio seguro de Jenkins no es suficiente. Entonces:
Cuando haya hecho todo esto, verifique que ambas configuraciones de zona horaria coincidan en su panel de información del sistema Jenkins: http://jenkins.example.com/systemInfo
fuente
En Ubuntu 14.04, ninguna de las soluciones anteriores funcionó para mí, pero terminé ejecutando el siguiente comando, que abre una interfaz donde la zona horaria se puede cambiar de la predeterminada (ninguna seleccionada) a algo más específico:
sudo dpkg-reconfigure tzdata
Primero, se le solicita que seleccione el continente (es decir, América, Asia, etc.) y luego la ciudad, que en mi caso resultó en "Asia / Kolkata" para la zona horaria IST en India.
Ver UbuntuTime - Usando la línea de comando .
Además, después de cambiar la zona horaria, reinicié Jenkins:
sudo /etc/init.d/jenkins stop sudo /etc/init.d/jenkins start
y luego verificó que la hora estaba en la hora local de IST. En
http://<yourservername>/systemInfo
, según lo dispuesto por el usuario obispo, en la sección Propiedades del sistema, para la propiedad "user.timezone", ahora veo "Asia / Kolkata" como su valor.fuente
Si está ejecutando Jenkins en Apache Tomcat, agréguelos a <Apache-Tomcat-Dir> /conf/catalina.properties:
Ambos son necesarios.
fuente
Si esto se relaciona con la ejecución de trabajos basados en un cronograma cron (es decir, Construir periódicamente), puede establecer su zona horaria en el cronograma cron por trabajo:
fuente
Para jenkins v2.73.3 en CentOS 7.1 (en docker) hemos encontrado que tiene que
1. establezca la zona horaria del sistema operativo, por ejemplo, 'ln -sf / usr / share / zoneinfo / Asia / Jakarta / etc / localtime' y
2. En Administrar Jenkins, configure la zona horaria, por ejemplo, 'Asia / Yakarta'.
Después de un jenkins normal: xxxx / restart se usa la nueva zona horaria.
fuente
Agregar una respuesta para cubrir la situación cuando se ejecuta jenkins en un contenedor acoplable en CentOS . En este caso, es posible que las opciones no se configuren en / etc / sysconfig / jenkins (dependiendo de los scripts de inicio del servicio jenkins). Se usa un script jenkins.sh para iniciar el servicio jenkins. Este script jenkins.sh es similar al utilizado por el proyecto jenkins-inside-docker, por lo que esta respuesta es útil para cualquier jenkins en proyectos docker derivados de eso.
https://github.com/jenkinsci/docker/blob/master/jenkins.sh
A continuación, obtenemos TZ, por ejemplo, Europa / Dublín y pasamos -e $ TZ a Docker Run para que podamos tener un script que escriba eso en / etc / timezone o links / etc / localtime pero lo importante es pasar estos dos argumentos en JAVA_OPTS: "-Dorg.apache.commons.jelly.tags.fmt.timeZone = $ TZ -Duser.timezone = $ TZ". El script jenkins.sh los pasa a la línea de comandos que inicia el proceso jenkins.
En el host docker al crear el ejemplo de contenedor del comando docker run:
Las opciones se pasaron en la variable docker en el comando docker run y luego se pasaron al comando jenkins start.
fuente