Git 当我使用参数化分支时,Jenkins无法构建:fatal:cand';找不到远程引用/heads/${BUILD_BRANCH}

Git 当我使用参数化分支时,Jenkins无法构建:fatal:cand';找不到远程引用/heads/${BUILD_BRANCH},git,jenkins,gitlab,jenkins-cli,Git,Jenkins,Gitlab,Jenkins Cli,当我尝试升级Jenkins作业,为分支使用参数而不是硬编码值时,它就不再工作了 除了BUILD_BRANCH外,我还尝试过许多其他名称 在这里,我尝试了${env.BUILD\u BRANCH},refs/heads${BUILD\u BRANCH},但它们都不起作用 当我开始做这件事时,我确实检查了轻量级签出,我在阅读了许多有相同问题的人的在线答案后删除了它。还是没什么!。我只是添加了“wipe”命令,看看这是否有帮助,但没有 错误: > git rev-list --no-wal

当我尝试升级Jenkins作业,为分支使用参数而不是硬编码值时,它就不再工作了

除了BUILD_BRANCH外,我还尝试过许多其他名称

在这里,我尝试了${env.BUILD\u BRANCH},refs/heads${BUILD\u BRANCH},但它们都不起作用 当我开始做这件事时,我确实检查了轻量级签出,我在阅读了许多有相同问题的人的在线答案后删除了它。还是没什么!。我只是添加了“wipe”命令,看看这是否有帮助,但没有

错误:

 > git rev-list --no-walk 97428a402f3304a21ccc8df435a40468ebf406c1 # timeout=10
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] readTrusted
[Pipeline] End of Pipeline
hudson.plugins.git.GitException: Command "git fetch --tags --progress --prune -- origin +refs/heads/${BUILD_BRANCH}:refs/remotes/origin/${BUILD_BRANCH}" returned status code 128:
stdout: 
stderr: fatal: Couldn't find remote ref refs/heads/${BUILD_BRANCH}
fatal: The remote end hung up unexpectedly

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2429)

感谢您的阅读,即使您情不自禁

您似乎在混合配置(仅共享图像片段很难确定)

一方面,您正在定义一个参数(BUILD_BRANCH),以便能够指定应该生成哪个分支

另一方面,假设第二个映像属于项目配置的管道部分,则尝试使用该参数来限制应用于获取Jenkins文件的分支

第二个分支在不同的工作区(不同的文件夹)中签出,仅用于获取Jenkins文件。即使您对该分支进行了完整的签出,也不意味着您的工作区中可以使用该分支的代码


您应该做的是使用管道上的参数,并将其提供给签出阶段。

在管道SCM部分是否选择了轻量级签出?取消选中lightweight checkout为我解决了这个问题。

您可以发布您的Jenkins文件吗?另外,您可以解释一下如何触发此管道(例如,通过webhook手动触发)。这些图像有一点帮助,但它们不足以理解您的整个项目配置。我相信您正在混合用于不同目的的配置。请稍等片刻,让我找到选项复选框(在底部)。但是,这是罚单。。。为了我。不知道为什么这对OP不起作用。谢谢,谢谢,谢谢。我花了一个小时来弄清楚为什么管道拒绝从一个特定的分支构建而没有失败。我不确定自己是否能解决这个问题。如果启用“轻量级”会在启用分支参数时发出警告,那就太好了。取消选中轻量级签出修复了这个问题,我太好奇了,不知道原因