You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jenkins multibranchPipelineJob中添加Hg安装选项并解决节点新增问题

解决Jenkins Multibranch Pipeline Job中Mercurial安装选项添加问题

你的问题出在configure块的路径定位逻辑错误:你直接在sources/data下新建了一个jenkins.branch.BranchSource节点,而没有找到已有的、关联MercurialSCMSource的分支源节点去修改它的traits配置。

正确的Configure代码实现

我们需要先定位到已存在的Mercurial分支源节点,再给它的traits添加安装特性,而不是创建新节点。修改后的configure块如下:

configure { node ->
    // 筛选出包含MercurialSCMSource的目标BranchSource节点
    def targetBranchSource = node / 'sources' / 'data' / 'jenkins.branch.BranchSource'.find {
        (it / 'source').@class == 'hudson.plugins.mercurial.MercurialSCMSource'
    }
    
    // 给目标节点的trails添加Mercurial安装配置
    targetBranchSource / 'source' / 'traits' << 'hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait' {
        installation 'TortoiseHg-4.5.2-x64'
    }
}

代码逻辑说明

  1. 精准定位目标节点:通过find方法遍历所有BranchSource节点,筛选出source的class属性为hudson.plugins.mercurial.MercurialSCMSource的节点——这就是你原本配置的Mercurial代码源节点。
  2. 修改原有配置:在找到的目标节点的source/traits下添加安装特性,这样会直接更新现有分支源的配置,而不会额外新增节点。

修改后预期的config.xml效果

修改后,sources/data下只会保留一个jenkins.branch.BranchSource节点,且它的traits会被正确填充:

<sources class="jenkins.branch.MultiBranchProject$BranchSourceList">
  <data>
    <jenkins.branch.BranchSource plugin="branch-api@2.0.20">
      <source plugin="mercurial@2.3" class="hudson.plugins.mercurial.MercurialSCMSource">
        <source>https://somerepopath</source>
        <credentialsId>username</credentialsId>
        <traits>
          <hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait>
            <installation>TortoiseHg-4.5.2-x64</installation>
          </hudson.plugins.mercurial.traits.MercurialInstallationSCMSourceTrait>
        </traits>
      </source>
    </jenkins.branch.BranchSource>
  </data>
  <owner class="org.jenkinsci.plugins.workflow.multibranch.WorkflowMultiBranchProject" reference="../.."/>
</sources>

内容的提问来源于stack exchange,提问作者Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:39:50