如何配置Jenkins任务每10秒或每秒触发?
实现Jenkins任务秒级(10秒/每秒)触发的可行方案
Jenkins默认的Cron定时触发器最小粒度为分钟,无法直接实现秒级触发,以下是几种可行的解决方法:
方法1:使用Pipeline脚本循环执行
通过编写Pipeline脚本,在任务内部实现循环+固定间隔等待,适合简单场景:
pipeline { agent any options { disableConcurrentBuilds() // 禁止并发构建,避免任务重叠 } stages { stage('循环执行任务') { steps { script { while(true) { // 替换为你的实际任务逻辑 echo '执行核心任务操作...' // 设置间隔时间(示例为10秒) sleep(time: 10, unit: 'SECONDS') } } } } } }
注意:该任务会持续运行直到手动停止,Jenkins重启后需要手动重新启动任务。
方法2:外部定时工具调用Jenkins API
借助系统级定时工具(如Linux的Shell脚本、Windows任务计划),通过Jenkins API触发任务,灵活性更高:
Linux示例脚本
#!/bin/bash # 配置Jenkins信息 JENKINS_ADDR="http://your-jenkins-ip:port" JOB_NAME="your-job-name" AUTH="username:api-token" while true; do # 调用API触发构建 curl -s -u $AUTH "$JENKINS_ADDR/job/$JOB_NAME/build" # 设置间隔(示例为10秒) sleep 10 done
执行方式:将脚本保存为trigger_job.sh,赋予执行权限后用nohup ./trigger_job.sh &后台运行。
方法3:使用Jenkins插件实现秒级定时(推荐)
安装Periodic Trigger Plugin插件,该插件支持秒级粒度的定时触发,是最规范的Jenkins原生解决方案:
- 进入Jenkins插件管理中心,搜索并安装
Periodic Trigger Plugin - 打开目标任务的配置页面,在「构建触发器」中勾选「Periodic Trigger」
- 设置触发间隔:输入数字(如
10),单位选择「Seconds」,即可实现每10秒触发一次 - 可选开启「Do not allow concurrent builds」防止任务重叠
注意事项
- 秒级触发会显著增加系统负载,需评估任务资源消耗和Jenkins服务器性能
- 若任务无法并发执行,务必开启禁止并发的配置,避免资源冲突
内容的提问来源于stack exchange,提问作者Infinity
相关产品推荐
相关产品推荐

