По умолчанию Jenkins использует время по UTC, которое -3 часа от Киева, что, конечно, создаёт путаницу в создании cron-задач и при просмотре логов.
Время хоста задано в EEST — но его Jenkins игнорирует.
Проверяем текущие настройки на странице https://ci.jenkins.world/systemInfo:
В документации приводится несколько вариантов, но в нашем случае заработало через JAVA_OPTS
.
Jenkins запускается в Docker-контейнере из Docker Compose файла.
Добавляем переменную JAVA_OPTS
:
... services: jenkins: user: root image: jenkins/jenkins:lts networks: - jenkins ports: - '8080:8080' - '50000:50000' volumes: - /data/jenkins:/var/lib/jenkins - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 environment: - JENKINS_HOME=/var/lib/jenkins - JENKINS_JAVA_OPTIONS=-Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=3800 - JAVA_OPTS=-Duser.timezone=Europe/Kiev ...
Перезапускаем:
[simterm]
# systemctl restart jenkins
[/simterm]
Проверяем: