温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用Jenkins定时任务

发布时间:2026-09-04 23:18:59 来源:亿速云 阅读:109 作者:小樊 栏目:系统运维

在 Jenkins 中,“定时任务”通常有两种常见场景:

  1. 定时构建(Pipeline / Freestyle Job 定时执行)
  2. Jenkins 系统层面的定时任务(类似 cron,执行 Groovy 脚本)

下面分别说明。


一、Job 定时构建(最常用)

1️⃣ Freestyle 项目

  1. 打开 Jenkins Job
  2. 进入 配置(Configure)
  3. 找到 构建触发器(Build Triggers)
  4. 勾选 Build periodically
  5. 在输入框中填写 cron 表达式

示例:

H 2 * * *      # 每天凌晨2点执行
H/30 * * * *   # 每30分钟执行一次
H 9-18 * * 1-5 # 工作日 9点到18点之间执行

H 表示 Jenkins 自动哈希分散时间,避免所有任务同时跑


2️⃣ Pipeline 项目

在 Jenkinsfile 中:

pipeline {
    agent any
    triggers {
        cron('H 2 * * *')
    }
    stages {
        stage('Build') {
            steps {
                echo '定时任务执行'
            }
        }
    }
}

二、Jenkins Cron 语法说明

Jenkins 使用的是 类 Unix cron,但略有扩展:

分钟 小时 日 月 星期
字段 范围
分钟 0–59
小时 0–23
日 1–31
月 1–12
星期 0–7(0和7都是周日)

特殊符号:

  • * 任意
  • H Jenkins 哈希
  • , 列举
  • - 范围
  • / 间隔

示例:

H 0 * * 1   # 每周一凌晨
H/15 * * * * # 每15分钟

三、Jenkins 系统级定时任务(Groovy 脚本)

适合执行清理、通知等系统任务:

  1. Manage Jenkins → Script Console
  2. 或使用插件:Jenkins Cron Tab

示例(Script Console):

def cron = Jenkins.instance

更常见方式是用 Pipeline 定时器 Job:

pipeline {
    agent any
    triggers {
        cron('H 3 * * *')
    }
    stages {
        stage('Clean') {
            steps {
                cleanWs()
            }
        }
    }
}

四、常见问题

❓ 定时没执行?

  • 检查 Jenkins 是否在运行
  • 检查时区(Jenkins 默认使用服务器时区)
  • 查看 系统日志

❓ 时区不对?

在 Manage Jenkins → Configure System:

  • 设置 JAVA_OPTS=-Duser.timezone=Asia/Shanghai

如果你有具体需求(比如:每天几点跑、只跑工作日、跑 Shell/Python 脚本),可以告诉我,我可以直接帮你写配置。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手