CentOS环境下Jenkins任务调度实践
一 内置定时构建 Build periodically
二 Pipeline 中定义调度
pipeline {
agent any
triggers {
cron('H 23 * * *') // 每天 23:00
pollSCM('H/5 * * * *') // 每 5 分钟检查 SCM 变更并触发
}
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}
三 使用系统 Cron 调用 Jenkins API 触发
crontab -e 添加任务,例如每天 02:00 触发:0 2 * * * /usr/bin/curl -X POST \
--user 'USERNAME:API_TOKEN' \
'http://JENKINS_URL/job/JOB_NAME/build'
如需传参(参数化构建):
0 2 * * * /usr/bin/curl -X POST \
--user 'USERNAME:API_TOKEN' \
--data-urlencode 'json={"parameter":[{"name":"delay","value":"300sec"}]}' \
'http://JENKINS_URL/job/JOB_NAME/build'
crontab -l 查看、验证条目是否生效。四 关键注意事项与排错
curl 验证触发是否成功,再交由 cron;在 Jenkins 构建历史与 系统日志排查未触发原因。