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

Jenkins Cron任务默认时区是什么?如何为声明式流水线配置柏林时区周一至周五9点执行?

Jenkins声明式流水线:时区配置与定时任务优化

先解答你的核心疑问:Jenkins Cron的默认时区

Jenkins的cron触发器默认会使用服务器操作系统的系统时区——除非你在Jenkins全局配置里手动调整过时区。如果你想确认当前生效的时区,可以进入Jenkins后台的「Manage Jenkins」→「System Configuration」,下滑到「Time Zone」部分查看;要是这个字段是空的,就说明用的是服务器系统时区。

配置柏林时区的每周一至周五9点运行

要实现你想要的定时触发逻辑,有两种靠谱的方式,我更推荐第一种:

方式1:全局设置柏林时区(一劳永逸)

如果你的Jenkins主要服务于柏林时区的团队,直接改全局时区最省心:

  1. 进入Jenkins后台,点「Manage Jenkins」→「System Configuration」
  2. 在「Time Zone」输入框里填 Europe/Berlin,保存配置。
  3. 然后修改你的Jenkinsfile的triggers部分,用柏林当地时间写cron表达式:
pipeline {
    agent none
    triggers {
        cron('0 9 * * 1-5') // 柏林时区每周一到周五上午9点准时运行
    }
    stages {
        stage('stage') {
            agent any
            steps {
                echo 'Hello world'
            }
        }
    }
}

这里的1-5对应周一到周五(Jenkins cron里周日是0,周一是1,周五是5),完美匹配你的需求。

方式2:不改动全局,计算UTC时间适配(不推荐)

要是你不想碰全局配置,就得把柏林时间转成UTC时间来写cron,但这种方式要手动处理夏令时切换,非常麻烦:

  • 柏林冬令时(UTC+1):上午9点对应UTC的8点,cron写 0 8 * * 1-5
  • 柏林夏令时(UTC+2):上午9点对应UTC的7点,cron写 0 7 * * 1-5
    显然这种方式需要定期调整,不如第一种省心。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.01 02:47:43