Jenkins在我使用参数化分支时无法构建:致命:找不到远程引用refs / heads / $ {BUILD_BRANCH}

问题描述 投票:0回答:1

当我尝试升级我的Jenkins作业以将参数用于分支而不是硬编码值时,它不再起作用。

String parameter

尝试过BUILD_BRANCH以外的许多其他名称

enter image description here在这里,我尝试了$ {env.BUILD_BRANCH},refs / heads $ {BUILD_BRANCH},但绝对没有一个enter image description here当我最初进行此操作时,我确实检查了轻量级结帐,在阅读了同样问题的许多在线答案后,我将其删除。依然没有!。我只是添加了“擦除”命令,以查看是否有帮助,但没有帮助

错误:

 > 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)

即使您不由自主,也感谢您的阅读

git jenkins gitlab jenkins-cli
1个回答
0
投票

似乎您正在混合配置(很难确定仅共享共享的图像)。

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

另一方面,假设第二个图像属于项目配置的Pipeline部分,您正试图使用​​该参数来限制应该用于获取Jenkinsfile的分支。

第二个分支在另一个工作区(不同的文件夹)中检出,仅用于获取Jenkinsfile。即使您对此进行了完整的签出,也并不意味着您将在工作空间中使用该分支的代码。

您应该做的是在管道上使用参数并将其输入到结帐阶段。

© www.soinside.com 2019 - 2024. All rights reserved.