Jenkins pipline怎么设置定时跑脚本

目录

[示例:在Jenkins Pipeline中设置定时触发](#示例:在Jenkins Pipeline中设置定时触发)

使用pipeline指令设置定时触发

[使用Declarative Pipeline设置定时触发](#使用Declarative Pipeline设置定时触发)

[使用Scripted Pipeline设置定时触发](#使用Scripted Pipeline设置定时触发)

解释Cron表达式

保存和应用配置

小结


在Jenkins中,定时跑脚本(例如定时执行Pipeline)的主要方法是通过配置Jenkins Pipeline的定时触发器。你可以使用Cron表达式来定义定时任务的触发时间。

示例:在Jenkins Pipeline中设置定时触发

假设你已经有一个Jenkins Pipeline Job,你可以按照以下步骤来配置定时触发:

  1. 创建或编辑Pipeline:

    • 登录到Jenkins。
    • 如果需要创建新的Pipeline,点击"新建任务"(New Item),然后选择"Pipeline"。否则,找到已有的Pipeline,点击进入后选择"配置"(Configure)。
  2. 配置Pipeline Script:

    • 进入Pipeline的配置页面后,你可以在"Pipeline"部分定义你的Pipeline脚本。

使用pipeline指令设置定时触发

在Pipeline脚本中,你可以使用triggers块和cron方法来设置定时触发。下面是一个示例Pipeline脚本,设置为每天午夜12点运行:

python 复制代码
pipeline {
    agent any

    triggers {
        cron('H 0 * * *')
    }

    stages {
        stage('Example Stage') {
            steps {
                echo 'Running a scheduled job'
                // 这里放置你的脚本或步骤
            }
        }
    }
}

使用Declarative Pipeline设置定时触发

这里是一个更详细的Declarative Pipeline例子,设定为每周一到五的凌晨1点运行:

python 复制代码
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表达式可以灵活地设置运行时间和频率。这种方法非常适合定时执行构建任务、测试任务和定时运行脚本等操作。确保在配置定时任务时,考虑负载和可能的影响,以避免潜在的性能问题。

相关推荐
桌面运维家4 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890754 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻5 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
变与不变8065 小时前
jQuery怎么使用
前端·javascript
神膘护体小月半6 小时前
flex 布局的 order 属性
前端·css
paopaokaka_luck6 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.6 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子6 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常6 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
小码哥_常6 小时前
你发的原图可能暴露你家地址——聊聊图片 EXIF 隐私
前端