GitSCMExtension或GitSCM分支源配置,以获取Jenkins多分支管道中的所有/一些附加远程分支



我一直在尝试查找分支源配置,以获取至少developmaster远程分支,以及运行作业的分支,但没有成功。

我的用例是通过git-ref名称和GitVersion提交消息来确定版本。到目前为止,我发现的唯一解决方法是繁琐且不可移植,因为它需要在不针对本地(file://(repo运行时向gitcli提供凭据。

sh "git fetch origin master:master"
sh "git fetch origin develop:develop"

我必须写一个自定义的GitSCMExtension才能得到这种行为吗?

看起来远程分支(origin/{branch}(的refs实际上是被提取的,只创建了匹配的本地跟踪分支(origin/{branch}->{branch}(,这就关闭了GitVersion。看起来它产生的错误消息直接与此默认配置相矛盾:

System.InvalidOperationException: Could not find a 'develop' or 'master' branch, neither locally nor remotely.

在找到解决方案https://github.com/GitTools/GitVersion/issues/1049#issuecomment-5858737

配置GitVersion以实际考虑/origina/master和/origina/development

develop:
# (..)
regex: (^dev(elop)?(ment)?$|^origin/dev(elop)?(ment)?$)
master:
# (..)
regex: (^master$|^origin/master$)

最新更新