首页主机资讯Ubuntu Jenkins任务调度方法

Ubuntu Jenkins任务调度方法

时间2025-10-04 08:46:03发布访客分类主机资讯浏览923
导读:Ubuntu下Jenkins任务调度的主要方法 1. 使用Jenkins内置“Build periodically”功能(Freestyle项目) 这是Jenkins中最常用的任务调度方式,适用于Freestyle类型的项目。操作步骤如下:...

Ubuntu下Jenkins任务调度的主要方法

1. 使用Jenkins内置“Build periodically”功能(Freestyle项目)

这是Jenkins中最常用的任务调度方式,适用于Freestyle类型的项目。操作步骤如下:

  • 登录Jenkins控制面板,进入目标任务的配置页面(点击任务名称→左侧“Configure”)。
  • 滚动到“Build Triggers”(构建触发器)部分,勾选“Build periodically”(定期构建)。
  • 在“Schedule”(调度)输入框中,使用Cron表达式定义执行时间(如0 10,16 * * *表示每天上午10点和下午4点各执行一次)。
  • 点击“Save”保存配置,Jenkins会根据Cron表达式自动触发任务。

2. 在Pipeline项目中配置定时调度

若使用Jenkins Pipeline(声明式或脚本式),可通过triggers块直接定义定时规则。示例如下:

pipeline {

    agent any
    triggers {

        cron('H 10 * * 1-5') // 每周一到周五上午10点执行(H表示随机分钟,避免并发)
    }

    stages {

        stage('Build') {

            steps {

                echo 'Building the project...'
            }

        }

    }

}

  • cron语法与Jenkins内置调度一致,支持秒、分、小时、日期、月份、星期等字段(部分版本支持秒级精度)。

3. 通过SSH插件执行远程定时任务

若需调度远程Ubuntu服务器上的命令,可借助Jenkins的SSH插件(如“Publish Over SSH”)。配置步骤:

  • 安装SSH插件:进入Jenkins“Manage Jenkins”→“Manage Plugins”,搜索“SSH”并安装。
  • 配置SSH服务器:在“Manage Jenkins”→“Manage Credentials”中添加远程服务器的SSH私钥或密码,在“Manage Jenkins”→“Configure System”→“SSH Servers”中填写服务器IP、用户名、凭据等信息。
  • 添加构建步骤:在任务配置页面选择“Execute shell”或“Send files or execute commands over SSH”,输入远程命令(如/usr/bin/apt update)。
  • 结合定时触发器(如“Build periodically”),实现远程任务的定时执行。

4. 使用Jenkins CLI或API设置延迟构建

若需在特定时间点触发任务(如延迟1小时后执行),可通过Jenkins CLI或远程API设置延迟:

  • CLI方式:使用jenkins-cli.jar工具,命令示例:
    java -jar jenkins-cli.jar -s http://your_jenkins_url:8080/ build your_job_name -p delay=3600sec
    
    其中delay参数指定延迟时间(单位:秒)。
  • API方式:通过HTTP POST请求触发构建,携带json参数:
    curl -X POST http://your_jenkins_url:8080/job/your_job_name/build \
    --user username:api_token \
    --data-urlencode json='{
    "parameter": [{
    "name":"delay", "value":"3600sec"}
    ]}
    '
    
    适用于自动化脚本或CI/CD流水线的集成。

5. 配置Jenkins全局或任务级安静期

安静期(Quiet Period)是指任务触发后,等待一定时间再开始执行的时间间隔,可用于避免频繁触发导致的资源竞争。配置方式:

  • 任务级安静期:在Pipeline项目的options块中设置quietPeriod参数,例如:
    pipeline {
    
        options {
    
            quietPeriod(60) // 等待60秒后再执行
        }
    
        // 其他配置
    }
        
    
  • 全局安静期:进入Jenkins“Manage Jenkins”→“Configure System”,找到“Quiet period”输入框,填写默认等待时间(单位:秒),保存后所有任务生效(若任务单独设置了安静期,则以任务级为准)。

Cron表达式常见示例

Jenkins的Cron表达式由6个字段组成(秒、分、小时、日期、月份、星期),支持通配符(*)、逗号分隔(,)、斜杠间隔(/)等语法。常见示例如下:

  • 每分钟执行一次:* * * * * *
  • 每小时的第30分钟执行:30 * * * * *
  • 每天凌晨3点执行:0 0 3 * * *
  • 每周一至周五上午9点执行:0 0 9 * * 1-5
  • 每月1号和15号中午12点执行:0 0 12 1,15 * *
  • 每5分钟执行一次:H/5 * * * * *H表示随机分钟,避免多个任务同时触发)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Jenkins任务调度方法
本文地址: https://pptw.com/jishu/719810.html
如何通过日志进行Tomcat负载均衡 Ubuntu Jenkins如何进行日志分析

游客 回复需填写必要信息