6

我有以下内容:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
    }
  }
}

它工作得很好,但我希望它将“签出到特定的本地分支”设置为“主”。这是怎么做的?

我没有在https://github.com/jenkinsci/git-plugin/blob/master/src/main/java/hudson/plugins/git/GitSCM.java中找到任何可以使用但我可能错过了什么。

4

3 回答 3

6

由于编写了接受的答案,因此添加了对“签出到特定本地分支”的支持:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')

      extensions {
        localBranch 'master'
      }
    }
  }
}
于 2016-07-22T13:54:00.320 回答
4

Job DSL 目前不支持该选项,但您可以使用配置块来修改生成的配置 XML:

job {
  scm {
    git {
      remote {
        url(GIT_URL)
      }
      branch('master')
      configure { node ->
        node / 'extensions' << 'hudson.plugins.git.extensions.impl.LocalBranch' {
          localBranch('master')
        }
      }
    }
  }
}
于 2015-01-13T19:55:50.410 回答
0

还有另一种执行命名本地分支的方法:

multibranchPipelineJob(pathToJob) {
    branchSources { ... }
    configure {
        def traits = it / sources / data / 'jenkins.branch.BranchSource' / source / traits
        traits << 'jenkins.plugins.git.traits.LocalBranchTrait' {
            localBranch('**')
        }
    }
}
于 2020-03-03T20:28:45.273 回答