Ubuntu环境下Jenkins任务调度的常见方法
这是Jenkins原生的定时任务配置方式,适用于大多数场景。操作步骤如下:
秒 分 时 日 月 星期,共6个字段)。例如:
0 10,16 * * *:每天上午10点和下午4点各执行一次;H/15 * * * *:每隔15分钟执行一次(H表示随机分钟,避免任务同时启动);0 2 * * 1-5:周一至周五凌晨2点执行。若使用Pipeline(流水线)模式,可直接在Pipeline脚本中通过triggers块配置定时任务。示例如下:
pipeline {
agent any // 指定执行节点
triggers {
cron('H 10 * * 1-5') // 每周一到周五上午10点执行(`H`表示随机分钟)
}
stages {
stage('Build') {
steps {
echo 'Building the project...'
// 这里添加具体的构建步骤(如git拉取、maven编译等)
}
}
}
}
通过Ubuntu系统的crontab工具,调用curl命令触发Jenkins任务的构建接口。步骤如下:
crontab -e编辑当前用户的Cron作业。分钟 小时 日 月 星期 命令,其中命令为curl调用Jenkins的构建接口。例如:
0 2 * * * /usr/bin/curl -X POST http://localhost:8080/job/your-job-name/build?token=YOUR_TOKENlocalhost:8080替换为Jenkins服务器IP或域名,your-job-name替换为任务名称,YOUR_TOKEN为Jenkins任务的API令牌,可在任务配置页面生成)Ctrl+O保存,Ctrl+X退出)。crontab -l查看已配置的定时任务,确保命令正确。若需要在Jenkins任务中调度远程Ubuntu服务器的命令,可通过SSH插件实现:
ssh user@remote-server "ls -l /tmp")。