У меня есть установка Jenkins-ci на сжатие Debian.
Текущий часовой пояс по умолчанию: «Америка / Торонто» Местное время сейчас: пн 9 июля 16:00:57 ПО ВОСТОЧНОМУ ВРЕМЕНИ 2012. Всемирное время сейчас: понедельник, 9 июля 20:00:57 UTC 2012.
В файле / etc / default / rcS у меня есть:
UTC = нет
К сожалению, это не работает, в системной информации Дженкинс:
user.timezone Etc / UTC
Я искал несколько часов .. к сожалению, не мог найти решение, любая помощь будет принята с благодарностью.
Спасибо за ваше время
Ответы:
Вам нужно передать требуемое значение user.timezone в качестве аргумента JVM при запуске Jenkins. Командная строка Java будет выглядеть примерно так:
К сожалению, я не знаком с установкой Debian, но параметры JVM должны быть определены либо в скрипте /etc/init.d/jenkins, либо в файле свойств, на который ссылается этот скрипт.
источник
/etc/init.d/rc.local
. Возможно, сработало бы, если бы у вас был сценарий инициализации Sysv для запуска Jenkins. На сайте Jenkins есть несколько примеров.UTC=no
В/etc/default/rcS
не имеет ничего общего с часовым поясом на вашей машине. Он сообщает, является ли время, сохраненное в аппаратных часах, местным временем или временем UTC. О настройке времени используйтеntp
или любой другой NTP-демон в качестве клиента, так как он будет медленно корректировать время без перемещения во времени.Три года спустя я нашел несколько ошибок, заставляющих это работать. Итак, я уточню принятый ответ (который является правильным) и добавлю полный ответ для CentOS.
Получил # 1: настройки Дженкинс изменить
Текущая документация Jenkins об изменении часового пояса говорит, чтобы определить
user.timezone
илиorg.apache.commons.jelly.tags.fmt.timeZone
. Но я обнаружил, что оба необходимы. Jelly один работает для собственно Jenkins и некоторых плагинов, а пользовательский работает для других плагинов.Получил # 2: Настройки ОС для обновления
Для CentOS в восточной части США отредактируйте
/etc/sysconfig/jenkins
для:Если вы введете эти
-D
настройкиJENKINS_ARGS
, они не будут работать.Получил # 3: перезапуск
Вы должны перезапустить из командной строки весь сервис. Просто делать безопасный перезапуск Дженкинс не достаточно. Так:
Сделав все это, убедитесь, что оба параметра часового пояса совпадают на информационной панели вашей системы Jenkins: http://jenkins.example.com/systemInfo
источник
В Ubuntu 14.04 у меня не работало ни одно из вышеперечисленных решений, но в итоге я запустил следующую команду, которая вызывает интерфейс, в котором часовой пояс можно изменить со стандартного (ни один не выбран) на более конкретный:
sudo dpkg-reconfigure tzdata
Сначала вам предлагается выбрать континент (например, Америка, Азия и т. Д.), А затем город, что в моем случае привело к «Азии / Калькутте» для часового пояса IST в Индии.
Смотрите UbuntuTime - Использование командной строки .
Кроме того, после изменения часового пояса я перезапустил Jenkins:
sudo /etc/init.d/jenkins stop sudo /etc/init.d/jenkins start
и затем проверил, что время было в местном времени IST. В соответствии с информацией
http://<yourservername>/systemInfo
, предоставленной пользователем bishop, в разделе «Свойства системы» для свойства «user.timezone» я теперь вижу «Asia / Kolkata» в качестве его значения.источник
Если вы используете Jenkins в Apache Tomcat, добавьте их в <Apache-Tomcat-Dir> /conf/catalina.properties:
Оба необходимы.
источник
Если это относится к выполнению заданий на основе расписания cron (т. Е. Периодически создавать), вы можете установить часовой пояс в расписании cron для каждого задания:
источник
Для jenkins v2.73.3 на CentOS 7.1 (в докере) мы обнаружили, что вы должны оба
1. установите часовой пояс ОС, например, 'ln -sf / usr / share / zoneinfo / Asia / Jakarta / etc / localtime' и
2. в разделе «Управление Дженкинсом» установите часовой пояс, например «Азия / Джакарта».
После обычного jenkins: xxxx / restart используется новый часовой пояс.
источник
Добавление ответа, чтобы охватить ситуацию при запуске jenkins в док-контейнере под CentOS . В этом случае параметры могут быть не установлены в / etc / sysconfig / jenkins (в зависимости от сценариев запуска службы jenkins). Сценарий jenkins.sh используется для запуска службы jenkins. Этот сценарий jenkins.sh аналогичен сценарию, используемому в проекте jenkins-inside-docker, поэтому этот ответ, будем надеяться, будет полезен всем создателям jenkins в проектах docker, основанных на этом.
https://github.com/jenkinsci/docker/blob/master/jenkins.sh
Ниже мы получаем TZ, например, Europe / Dublin, и передаем -e $ TZ в docker run, чтобы у нас был скрипт, который записывает это в / etc / timezone или links / etc / localtime, но важно передать эти два аргумента в JAVA_OPTS: "-Dorg.apache.commons.jelly.tags.fmt.timeZone = $ TZ -Duser.timezone = $ TZ". Сценарий jenkins.sh передает их в командную строку, которая запускает процесс jenkins.
На хосте docker при создании контейнера пример команды docker run:
Опции передавались в переменной docker в команде запуска docker, а затем передавались команде запуска jenkins.
источник