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来设置定时触发,同样使用triggerscron功能。示例如下:

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

相关推荐
小二·2 分钟前
Python Web 开发进阶实战:AI 原生硬件接口 —— 在 Flask + MicroPython 中构建边缘智能设备控制平台
前端·人工智能·python
BullSmall6 分钟前
CloudDR 故障切换演练脚本模板(自动化执行版)
运维·自动化
述清-架构师之路7 分钟前
vmWare的CentOS系统网路连不上处理记录
linux·运维·centos
ElasticPDF-新国产PDF编辑器8 分钟前
基于 PDF.js 的 PDF 文字编辑解决方案,纯前端 SDK,跨平台、框架无关、Web 原生
前端·javascript·pdf
带带弟弟学爬虫__9 分钟前
速通新Baidu Frida检测
前端·javascript·vue.js·python·网络爬虫
实心儿儿13 分钟前
Linux —— 进程概念 - 僵尸进程、孤儿进程
linux·运维·服务器
好学且牛逼的马20 分钟前
ES6 核心语法精讲
前端·ecmascript·es6
Trouvaille ~20 分钟前
【Linux】线程概念与控制(一):线程本质与虚拟地址空间
linux·运维·服务器·c++·线程·虚拟地址空间·pcb
GISer_Jing21 分钟前
一次编码,七端运行:Taro多端统一架构深度解析与电商实战
前端·aigc·taro
你才是臭弟弟24 分钟前
Docker 容器使用运行镜像(Windows)
运维·docker·容器