我使用声明Jenkinsfile与安静期:
options {
quietPeriod(180)
// more options
}
工具版本:
现在的问题是,在GitHub SCM更改上,独立管道项目尊重静默期,但多分支管道项目不尊重静默期。它也不返回错误,只是在接收webhooks时立即触发构建。
我知道詹金斯-37588在这方面的公开问题。
将上游包装作业与构建(作业:'myjob',quietPeriod:180)
一起使用是不可行的,因为我有几百个多分支项目。
是否有人能够找到解决方案或可行的替代方案?任何帮助都将不胜感激。
执行此操作后,多分支管道遵守安静期:
>
在多分支管道中,配置
在Jenkins文件中,将生成触发器设置为“轮询SCM”,但不要指定计划。如果由web钩子触发,则仅当SCM发生更改时才会运行。(我认为如果您正在使用GitHub,您可以选择“GitHub钩子触发器用于GITScm轮询”)
在Jenkins文件中,设置安静时段。
在SCM上配置web钩子。
pipeline{
agent{label "Linux" }
options {
quietPeriod(180)
// more options
}
triggers {
pollSCM ''
}
stages{
stage("Test"){
steps{
echo "Test"
}
}
}
}
我认为——不幸的是——这目前是不可能的。
这里有一张未解决的票:https://issues.jenkins-ci.org/browse/JENKINS-37588
此外,已经有一个开放的拉请求这个问题:https://github.com/jenkinsci/branch-api-plugin/pull/190
对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应
我正在努力使用Jenkins 2.1多分支管道,在这里,我从同一个git存储库构建了多个工件。一些工件是独立的,应该根据它们各自目录中的更改触发构建。有些是依赖的,应该由先前的步骤/构建触发。 存储库有一个控制整个管道的文件。Jenkins多分支管道作业会在所有更改时触发(无其他行为)。 我不知道如何在目录dirA发生变化时触发工件A的构建。 git回购协议中的Jenkins文件file:///r
我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi
我有git monorepo与不同的应用程序。目前,我有一个Jenkinsfile在根文件夹,其中包含应用程序的管道all。当提交只更改了一个应用时,执行所有应用的完整管道非常耗时。 我们使用类似GitFlow的方法进行分支,因此Jenkins中的多分支管道作业非常适合我们的项目。 我正在寻找一种方法,在詹金斯有几个工作,每一个将被触发,只有当适当的应用程序的代码被改变。 我的完美解决方案如下所示
是否可以扫描多分支管道以检测具有Jenkinsfile但不执行管道的分支? 我的项目有不同的分支,当我从父管道多分支启动构建扫描时,我不希望所有带有Jenkinsfile的子管道分支都开始执行。
我有一个参数化的Jenkins多分支管道,使用GitHub repo作为Jenkins文件和一些脚本的源。管道被配置为在Webhook上触发分支和拉请求,但我还希望只对主分支使用参数化的cron触发器,特别是在工作日每4小时一次。 我使用声明性管道语法,但如果必要,我愿意使用脚本化管道。 我使用参数化调度器插件来实现带有参数的cron触发器。 这个管道示例捕获了我试图实现但不支持的内容: 这项功能