【问题标题】:Job scheduling using Jenkins pipeline使用 Jenkins 管道进行作业调度
【发布时间】:2019-02-04 12:01:00
【问题描述】:

我们的 Jenkins 作业配置有一个多分支管道。我们有三个分支:developmaster 和功能分支。开发人员希望每天定期运行功能分支。我们在多个项目中使用相同的 Jenkinsfile。

为了定期运行,我在功能分支中添加了以下几行。

properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '10', 
    artifactNumToKeepStr: '10', daysToKeepStr: '10', numToKeepStr: '10']], gitLabConnection('GitLab'), pipelineTriggers([[$class: 'TimerTrigger', spec: '0 5,12 * * *']])])

问题是我们有 5 个项目,并且它们都在使用相同的 Jenkinsfile 的同时执行。有什么方法可以一个一个地运行这些项目吗?

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline


    【解决方案1】:

    您应该尝试在触发器前面加上“H/”规范:spec: 'H 5,12 * * *' 而不是 spec: '0 5,12 * * *'

    当多个作业具有相同的模式同时触发时,Jenkins 会平均分配作业。

    Meaning of H prefix 在这里解释。

    【讨论】:

    • 很棒的信息..! H 前缀的含义我看到第一个字段中的 H/5 意味着每五分钟从每小时 0 到 4 分钟之间的某个时间开始 所以如果我保持 H/0 它将在那个随机运行0-59 秒?再次感谢
    • 好吧,我认为你应该使用 H 5,12 * * *。这表示 Jenkins 构建每天在给定时间运行一次。
    • 实际上,我想每天早上 6 点和下午 4 点跑步。 @点
    • 在这种情况下它将是 H 6,16 * * *
    猜你喜欢
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2019-07-09
    • 2020-03-28
    • 2020-12-22
    • 1970-01-01
    • 2017-11-11
    • 1970-01-01
    相关资源
    最近更新 更多