我似乎无法创建构建特定分支的Jenkins管道作业,其中该分支是构建参数。
以下是一些配置截图:
(我已尝试$BRANCH_NAME_PARAM
,${BRANCH_NAME_PARAM}
和${env.BRANCH_NAME_PARAM}
,所有变体的结果相同)
构建日志:
hudson.plugins.git.GitException: Command "git fetch --tags --progress origin +refs/heads/${BRANCH_NAME_PARAM}:refs/remotes/origin/${BRANCH_NAME_PARAM} --prune" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/heads/${BRANCH_NAME_PARAM}
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1970)
我显然做错了什么 - 关于什么的任何想法?
答案 0 :(得分:27)
https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-28447
看来它与轻量级结账有关。如果我在配置中取消选择此选项,我的参数变量将被解析
答案 1 :(得分:3)
我已经尝试了上述解决方案,但对我而言不起作用。我选择了一种略有不同的方法。我正在发布信息,因为它将在将来对某人有所帮助。
答案 2 :(得分:0)
每次我有一个基于分支的工作时,我必须放置groovy script with EnvInject plugin以删除参数中选择的git分支的ref / heads部分。
如果你保留refs/heads/xxx
,Jenkins会查找分支ref/heads/ref/heads/xxx
。