当前位置: 首页 > 知识库问答 >
问题:

不执行Jenkins多分支管道扫描

文彭祖
2023-03-14

是否可以扫描多分支管道以检测具有Jenkinsfile但不执行管道的分支?

我的项目有不同的分支,当我从父管道多分支启动构建扫描时,我不希望所有带有Jenkinsfile的子管道分支都开始执行。

共有3个答案

晋功
2023-03-14

如果您使用的是作业dsl,您可以简单地执行此操作,它将扫描所有内容,而无需在您第一次索引时实际运行构建。

organizationFolder('Some folder name') {
  buildStrategies {
    skipInitialBuildOnFirstBranchIndexing()
  }
}
姚建树
2023-03-14

此外,您可以通过编程实现

import jenkins.branch.*
import jenkins.model.Jenkins


for (f in Jenkins.instance.getAllItems(jenkins.branch.MultiBranchProject.class)) {
  if (f.parent instanceof jenkins.branch.OrganizationFolder) {
    continue;
  }
  for (s in f.sources) {
    def prop = new jenkins.branch.NoTriggerBranchProperty();
    def propList = [prop] as jenkins.branch.BranchProperty[];
    def strategy = new jenkins.branch.DefaultBranchPropertyStrategy(propList);
    s.setStrategy(strategy);
  }

  f.computation.run()
}

这是您可以在Jenkins中执行的Groovy片段,它将执行扫描,但不会为所有发现的分支启动新的“构建”。

岳阳飙
2023-03-14

在您的分支来源部分,您可以添加一个名为抑制自动SCM触发的属性。

这会阻止Jenkins使用一个Jenkins文件构建所有内容。

 类似资料:
  • 问题内容: 我开始创建我的管道多分支环境,但是我遇到了一个问题。 我是否可以仅通过Jenkinsfile运行构建扫描以检测分支,而无需执行管道? 我的项目有不同的分支,当我从父管道多分支启动构建扫描时,我不想要所有带有Jenkinsfile的分支的所有子管道。 感谢您的帮助! 问题答案: 在“ 分支源” 部分,您可以添加一个名为“抑制自动SCM触发”的属性。 这样可以防止Jenkins使用。

  • 对于一个新项目,我想使用Jenkins CI的新管道功能。我们的Git存储库中有几个分支,应该以同样的方式进行测试。它还应该自动跟踪和处理新的分支。因此,我创建了一个多分支管道作业。但它的配置有两个问题: 1) 为了被Jenkins标记为有效,分行需要一个“Jenkinsfile”。如果这不存在,詹金斯将忽略该分支。有没有办法标记与模式匹配的所有分支,而不需要在其中包含此文件? 2) 每个分支都应

  • 我对使用Jenkins文件和GIT插件的Jenkins多分支pipleline有一个问题。 问题是,每次向暂存分支推送都会触发master管道。所需的行为是,推送到暂存分支仅触发用于暂存的管道,而推送到主分支仅触发主管道 这是我的詹金斯档案 我将分享一些日志:这是主分支的日志 这是主分支的日志,但只有暂存有一个新的提交: 注意“已发现更改”,即使主分支上的头未更改 詹金斯·弗。2.190.1 Gi

  • 我正在努力使用Jenkins 2.1多分支管道,在这里,我从同一个git存储库构建了多个工件。一些工件是独立的,应该根据它们各自目录中的更改触发构建。有些是依赖的,应该由先前的步骤/构建触发。 存储库有一个控制整个管道的文件。Jenkins多分支管道作业会在所有更改时触发(无其他行为)。 我不知道如何在目录dirA发生变化时触发工件A的构建。 git回购协议中的Jenkins文件file:///r

  • 是否可以从另一个作业触发Jenkins多分支管道的立即扫描操作?我在将旧版本的Gitlab与Jenkins中的管道作业集成时遇到了某些问题,并遇到了这样的解决方法。 或者,现在可以使用notifyCommit web钩子触发扫描多分支管道吗? 这样做的目的是每当Git存储库中发生更改时扫描多分支管道,以便在这样的更改后检测到新的分支。另一个我无法以其他方式实现的目的(除了对我来说非常邪恶的每个分支

  • 美好的一天, 我尝试在新的Jenkins实例上设置多分支管道,在扫描多分支管道日志中遇到了以下错误: 没有这样的文件:E:\Continuous Integration\Jenkins\jobs\Enhanced API\indexing\indexing.log 根据jenkins.err.log,我遇到了一个 这个Jenkins的版本是2.85,带有以下版本的Git插件: Git客户端插件-2