You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins配置欧洲时区后自动切换为伦敦GMT的问题求助

解决Jenkins时区自动切换为GMT的问题

我之前碰到过一模一样的情况!明明启动时设置了柏林时区,运行一段时间后就自动跳到伦敦GMT,折腾了好一阵才搞定。这种问题通常是Jenkins的全局配置、JVM启动参数或者第三方插件的时区设置互相冲突导致的,下面是我亲测有效的修复步骤:

1. 确保JVM启动参数的配置持久化

你添加的user.timezone="Europe/Berlin"参数没问题,但要确认它是加到Jenkins的永久启动配置里,而不是临时启动参数:

  • 如果是Linux系统,找到Jenkins的启动脚本(通常在/etc/default/jenkins或者/etc/sysconfig/jenkins),修改JAVA_OPTS行,确保包含:
    JAVA_OPTS="-Duser.timezone=Europe/Berlin"
    
  • 如果是Windows服务,打开Jenkins的服务配置,在“启动参数”里添加-Duser.timezone=Europe/Berlin,保存后重启服务。

2. 手动锁定Jenkins全局时区

不要依赖系统默认时区,直接在Jenkins后台强制设置:

  1. 进入「Manage Jenkins」→「System Configuration」
  2. 找到「Time Zone」选项,取消勾选“Use system default”
  3. 手动选择Europe/Berlin,保存配置

这一步很关键,因为有些情况下Jenkins会在运行时重新读取系统时区,手动设置后就能锁定住。

3. 检查第三方插件的时区设置

部分插件(比如Pipeline、定时任务相关插件)可能会自带独立的时区配置,需要确保它们和全局设置一致:

  • 比如Pipeline脚本里如果硬编码了时区,或者定时任务(Build periodically)里用了GMT相关的表达式,都会覆盖全局设置。
  • 进入插件的配置页面,确认所有时间相关的配置都使用Europe/Berlin时区。

4. 同步服务器系统时区(可选但推荐)

虽然Jenkins可以独立设置时区,但如果服务器系统时区本身是GMT,可能会在某些场景下影响JVM的时区读取:

  • Linux系统执行命令:
    timedatectl set-timezone Europe/Berlin
    
  • 验证系统时区:timedatectl status,确保显示的时区是Europe/Berlin

完成以上步骤后,重启Jenkins,观察一段时间,应该就不会再自动跳回GMT了。

内容的提问来源于stack exchange,提问作者andreasgk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:35:26