Eu tenho uma instalação Jenkins-ci em um aperto do debian.
Fuso horário padrão atual: 'America / Toronto' A hora local é agora: segunda-feira, 9 de julho às 16:00:57 EDT 2012. O horário universal é agora: segunda-feira 9 de julho 20:00:57 UTC 2012.
No arquivo / etc / default / rcS, tenho:
UTC = não
Infelizmente isso não está funcionando, nas informações do sistema de jenkins:
user.timezone Etc / UTC
Eu procurei por algumas horas .. infelizmente não consegui encontrar uma solução, qualquer ajuda seria muito apreciada.
Obrigado pelo seu tempo
Respostas:
Você precisa transmitir o valor necessário de user.timezone como um argumento da JVM ao iniciar o Jenkins. A linha de comando Java será semelhante a:
Infelizmente não estou familiarizado com a instalação da Debian, mas os parâmetros da JVM devem ser definidos no script /etc/init.d/jenkins ou em um arquivo de propriedades que é referenciado a partir desse script.
fonte
/etc/init.d/rc.local
. Provavelmente funcionou com você, teve um script de inicialização do Sysv para iniciar o Jenkins. Existem alguns exemplos no site da Jenkins. OUTC=no
in/etc/default/rcS
não tem nada a ver com o fuso horário na sua máquina. Está dizendo se a hora armazenada no relógio do hardware é a hora local ou a hora UTC. Sobre o ajuste da hora, usentp
ou qualquer outro daemon NTP como cliente, pois ele ajustará lentamente a hora sem viajar no tempo.Três anos depois, encontrei várias dicas para que isso funcionasse. Então, elaborarei a resposta aceita (correta) e adicionarei uma resposta completa para o CentOS.
Dica 1: As configurações de Jenkins a serem alteradas
A documentação atual do Jenkins sobre alteração de fuso horário diz para definir
user.timezone
ouorg.apache.commons.jelly.tags.fmt.timeZone
. Mas descobri que ambos são necessários. A geléia funciona para Jenkins e alguns plugins, enquanto o usuário trabalha para outros plugins.Dica 2: As configurações do sistema operacional a serem atualizadas
Para o CentOS no leste dos EUA, edite
/etc/sysconfig/jenkins
para:Se você colocar essas
-D
configuraçõesJENKINS_ARGS
, não funcionará.Pega 3: Reiniciando
Você precisa reiniciar a partir da linha de comando, de todo o serviço. Simplesmente fazer uma reinicialização segura do Jenkins não é suficiente. Então:
Quando você tiver feito tudo isso, verifique se as duas configurações de fuso horário correspondem ao painel de informações do sistema Jenkins: http://jenkins.example.com/systemInfo
fonte
No Ubuntu 14.04, nenhuma das soluções acima funcionou para mim, mas acabei executando o seguinte comando, que exibe uma interface na qual o fuso horário pode ser alterado do padrão (nenhum selecionado) para algo mais específico:
sudo dpkg-reconfigure tzdata
Primeiro, você é solicitado a selecionar o continente (ou seja, América, Ásia etc.) e depois a cidade, que no meu caso resultou em "Ásia / Calcutá" para o fuso horário do IST na Índia.
Veja UbuntuTime - Usando a linha de comando .
Além disso, depois de alterar o fuso horário, reiniciei o Jenkins:
sudo /etc/init.d/jenkins stop sudo /etc/init.d/jenkins start
e, em seguida, verificou que a hora era no horário local de IST. Em
http://<yourservername>/systemInfo
, conforme fornecido pelo usuário bispo, na seção Propriedades do sistema, para a propriedade "user.timezone", agora vejo "Ásia / Calcutá" como seu valor.fonte
Se você estiver executando o Jenkins no Apache Tomcat, adicione-os ao <Apache-Tomcat-Dir> /conf/catalina.properties:
Ambos são necessários.
fonte
Se isso estiver relacionado à execução de tarefas com base em um cronograma (por exemplo, Compilar periodicamente), você poderá definir o Fuso horário no cronograma por cronograma:
fonte
Para o jenkins v2.73.3 no CentOS 7.1 (no docker), descobrimos que você precisa
1. defina o fuso horário do sistema operacional, por exemplo, 'ln -sf / usr / share / zoneinfo / Asia / Jakarta / etc / localtime' e
2. em Manage Jenkins, defina o fuso horário, por exemplo, 'Ásia / Jacarta'.
Após um jenkins regular: xxxx / restart, o novo fuso horário é usado.
fonte
Adicionando uma resposta para cobrir a situação ao executar o jenkins em um contêiner de docker no CentOS . Nesse caso, as opções podem não estar definidas em / etc / sysconfig / jenkins (dependendo dos scripts de início do serviço jenkins). Um script jenkins.sh é usado para iniciar o serviço jenkins. Esse script jenkins.sh é semelhante ao usado pelo projeto jenkins-inside-docker, portanto, espero que esta resposta seja útil para qualquer jenkins nos projetos de docker derivados disso.
https://github.com/jenkinsci/docker/blob/master/jenkins.sh
Abaixo, obtemos TZ, por exemplo, Europe / Dublin e passamos -e $ TZ para o docker, para que possamos ter um script que escreva isso em / etc / fuso horário ou links / etc / localtime, mas o importante é passar esses dois argumentos em JAVA_OPTS: "-Dorg.apache.commons.jelly.tags.fmt.timeZone = $ TZ -Duser.timezone = $ TZ". O script jenkins.sh os passa para a linha de comando que inicia o processo jenkins.
No host do docker ao criar o exemplo de contêiner do comando docker run:
As opções foram passadas na variável docker no comando docker run e depois no comando jenkins start.
fonte