目录
示例:在Jenkins Pipeline中设置定时触发
使用pipeline指令设置定时触发
使用Declarative Pipeline设置定时触发
使用Scripted Pipeline设置定时触发
解释Cron表达式
保存和应用配置
小结
在Jenkins中,定时跑脚本(例如定时执行Pipeline)的主要方法是通过配置Jenkins Pipeline的定时触发器。你可以使用Cron表达式来定义定时任务的触发时间。
示例:在Jenkins Pipeline中设置定时触发
假设你已经有一个Jenkins Pipeline Job,你可以按照以下步骤来配置定时触发:
-
创建或编辑Pipeline:
- 登录到Jenkins。
- 如果需要创建新的Pipeline,点击“新建任务”(New Item),然后选择“Pipeline”。否则,找到已有的Pipeline,点击进入后选择“配置”(Configure)。
-
配置Pipeline Script:
- 进入Pipeline的配置页面后,你可以在“Pipeline”部分定义你的Pipeline脚本。
使用pipeline
指令设置定时触发
在Pipeline脚本中,你可以使用triggers
块和cron
方法来设置定时触发。下面是一个示例Pipeline脚本,设置为每天午夜12点运行:
pipeline {
agent any
triggers {
cron('H 0 * * *')
}
stages {
stage('Example Stage') {
steps {
echo 'Running a scheduled job'
// 这里放置你的脚本或步骤
}
}
}
}
使用Declarative Pipeline设置定时触发
这里是一个更详细的Declarative Pipeline例子,设定为每周一到五的凌晨1点运行:
pipeline {
agent any
triggers {
cron('H 1 * * 1-5')
}
stages {
stage('Prepare') {
steps {
echo 'Preparing..'
// 这里放置准备步骤
}
}
stage('Build Stage') {
steps {
echo 'Building..'
// 这里放置构建步骤,例如执行脚本
// sh 'path/to/your/script.sh'
}
}
stage('Test Stage') {
steps {
echo 'Testing..'
// 这里放置测试步骤
}
}
stage('Deploy Stage') {
steps {
echo 'Deploying..'
// 这里放置部署步骤
}
}
}
}
使用Scripted Pipeline设置定时触发
你也可以使用Scripted Pipeline来设置定时触发,同样使用triggers
和cron
功能。示例如下:
node {
triggers {
cron('H 0 * * *')
}
stage('Example Stage') {
echo 'Running a scheduled job'
// 这里放置你的脚本或步骤
}
}
解释Cron表达式
H
: 使用H
(哈希符号)来分散负载。它根据项目名称计算一个值,这样可以避免所有项目在同一时间触发。0
: 代表“分钟”。0代表整点。1
: 代表“小时”。1代表凌晨1点。*
: 万用符,表示每一天/每个月。1-5
: 代表“周几”。1到5代表周一到周五。
保存和应用配置
完成上述配置后,点击页面底部的“保存”或“应用”按钮。你的Pipeline任务将按照你设置的定时计划自动运行。
小结
通过上述配置,你可以在Jenkins中设置Pipeline作业的定时运行。使用Cron表达式可以灵活地设置运行时间和频率。这种方法非常适合定时执行构建任务、测试任务和定时运行脚本等操作。确保在配置定时任务时,考虑负载和可能的影响,以避免潜在的性能问题。