【Jenkins】定时构建语法

简介: 【Jenkins】定时构建语法

跟cron定时任务语法基本类似


一、字段有哪些


每行包含5个字段,用制表符或空格隔开,从左至右依次是:

分 时 天 月 星期


二、每个字段的取值范围


  • 分钟 (0–59)
  • 时 (0–23)
  • 天 (1–31)
  • 月 (1–12)
  • 星期 (0 和 7 都代表星期日)


三、为了每个字段可以取多个值,可以用下面操作符,按优先顺序:


• * 匹配范围内所有值

• M-N 匹配(M~N范围内的所有值)

• M-N/X or * /X 在指定区间(M~N)或者整个有效区间 * 内,每隔 X 构建一次

• A,B,...,Z 匹配多个值


四、符号 H 的用法


  1. 为了在系统中产生均匀的计划任务, 尽可能的使用符合H(就是Hash)
    例如, 用 0 0 * * * 来执行十几个任务,将会在午夜产生较大的峰值,
    相反, 用 H H * * * 在一天中仍然会执行每一个任务, 但是并不在同一时间去做,可以更好的利用有限的资源。
  2. 符号H可以用作一个范围.
    例如, H H(0-7) * * * 代表着在凌晨0:00 到早上7:59的这段时间, 你还可以用H 代表有范围或者无范围中的 区间。
  3. H可以被当做一个范围内的随机值,实际上,它是一个任务的hash,并不是一个随机函数,所以对于任务项目来说, 这个值都是稳定的。
  4. 要注意在一个月中天的字段,短周期内例如 * /3 或者 H/3 将在接近月末的时候,因为月长的不固定,工作会不稳定。
    例如,* /3 将会在一个31天的月中,第1天、第4天、第7天......、第28天、第31天执行构建,然后再下一个月继续重复执行,
    hash常常会选择范围1~28天内执行,所以,H/3 在月末的3~6天里,产生运行间隙(长时间循环导致长度不一致,但是这个影响相对来说不明显)
  5. 空行 和 以 #开头的被视为 注释
  6. 一些别名
    @yearly, @annually, @monthly, @weekly, @daily, @midnight, and @hourly,这些使用系统默认自动匹配的时间。
    比如,
    @hourly 跟 H * * * * 都表示一个小时之内的任意时间.
    @midnight 代表 0:00 AM and 2:59 AM 之间的时间.
    例如:
    * 每隔15分钟 (或许在 :07、 :22 、:37、 :52)
    H/15 * * * *
    *每个前半小时之内,每10分钟 (共有三次, 可能在 :04、 :14、 :24)
    H(0-29)/10 * * * *
    *每个工作日从早上9点45分开始到下午3点45分结束这段时间内,每间隔2小时的45分钟那一刻
    45 9-16/2 * * 1-5
    * 每个工作日从早上9点到下午5点这段时间内每间隔2小时之间的某刻。(或许在上午10:38, 下午12:38, 下午2:38 , 下午4:38)
    H H(9-16)/2 * * 1-5
    * 每月(除了12月)从1号到15号这段时间内某刻
    H H 1,15 1-11 *
相关文章
|
3月前
|
jenkins Devops 机器人
【DevOps】(五)Jenkins构建给企业微信推送消息
【DevOps】(五)Jenkins构建给企业微信推送消息
144 1
|
6天前
|
jenkins 持续交付
Jenkins Pipeline 流水线 - Parameters 参数化构建
Jenkins Pipeline 流水线 - Parameters 参数化构建
6 0
|
6天前
|
jenkins 持续交付 网络安全
Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本
Jenkins Pipeline 流水线 - 完整构建 Pipeline Script 脚本
8 0
|
2月前
|
敏捷开发 jenkins 测试技术
阿里云云效产品使用问题之如何进行类似于jenkins那样参数化构建
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
运维 算法 jenkins
做一个可通过jenkins定时任务Cron表达式设置的python定时函数
用python代码,来解析jenkins定时任务表达式,并获取最近的执行任务时间戳
|
1月前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
83 0
|
2月前
|
Kubernetes Cloud Native jenkins
云原生时代:从Jenkins到Argo Workflows,构建高效CI Pipeline
基于Argo Workflows可以构建大规模、高效率、低成本的CI流水线
|
3月前
|
存储 jenkins 持续交付
Jenkins 构建环境指南
Delete workspace before build starts(常用) 在每次构建开始前清空工作空间。这确保了每次构建开始时都是在一个干净的环境下进行,避免了旧的文件或数据对新构建的影响。特别是对于需要频繁构建的项目,保持工作空间的干净能够确保构建过程的可靠性。 Use secret text(s) or file(s) (常用) 允许你在构建过程中使用加密的文本或文件作为凭证。这对于需要访问受保护资源的构建任务非常有用,可以安全地存储和使用密码、API 密钥等敏感信息,而不用担心泄漏。
261 2
|
3月前
|
jenkins Shell 持续交付
Jenkins job 创建、参数化、定时构建及时区偏差问题
在Jenkins中创建新任务,步骤:设置任务名,选择自由风格,输入描述并配置丢弃旧构建的规则(保留最近3次)。接着,参数化构建过程,添加字符参数并设定其名称、默认值和描述。在构建触发器中,设定定时构建为每2分钟一次(H2/ * * * *)。在构建阶段执行Shell命令,打印参数param。构建结果显示每2分钟执行一次,保留最近3次构建,参数默认值为Jenkins。定时构建的cron语法详解,并给出常见定时构建示例。当遇到Jenkins显示时间与系统时间不一致(UTC时间差8小时)的问题,解决办法是在Docker启动时添加参数调整时区至上海,确认时区修改成功后,构建历史时间将与系统时间同步。
67 2
|
3月前
|
jenkins 持续交付
Jenkins构建简单流水线
Jenkins构建简单流水线
38 0