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

相关推荐
小李独爱秋12 小时前
“bootmgr is compressed”错误:根源、笔记本与台式机差异化解决方案深度指南
运维·stm32·单片机·嵌入式硬件·文件系统·电脑故障
前端摸鱼匠12 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang2015092812 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
好家伙VCC13 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
Dying.Light13 小时前
Linux部署问题
linux·运维·服务器
S190113 小时前
Linux的常用指令
linux·运维·服务器
萤丰信息13 小时前
AI 筑基・生态共荣:智慧园区的价值重构与未来新途
大数据·运维·人工智能·科技·智慧城市·智慧园区
小义_14 小时前
【RH134知识点问答题】第7章 管理基本存储
linux·运维·服务器
未来之窗软件服务14 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
运维小欣14 小时前
Agentic AI 与 Agentic Ops 驱动,智能运维迈向新高度
运维·人工智能