Jenkins не удается собрать, когда я использую параметризованную ветку: fatal: Не удалось найти удаленный ref refs /heads / $ {BUILD_BRANCH} - PullRequest
0 голосов
/ 24 февраля 2020

Как только я попытался обновить свое задание Jenkins, чтобы использовать параметр для ветви вместо жестко заданного значения, оно больше не работает.

String parameter

Перепробовал много других имен, кроме BUILD_BRANCH

enter image description here Здесь я пробовал $ {env.BUILD_BRANCH}, refs /heads $ {BUILD_BRANCH} и абсолютно ни одно из них не работает enter image description here Когда я делал это изначально, я проверял облегченную проверку, я удалил ее после прочтения многих онлайн-ответов от тех, у кого была такая же проблема. Еще ничего!. Я просто добавил команду '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)

Спасибо за чтение, даже если вы не можете помочь

1 Ответ

0 голосов
/ 25 февраля 2020

Похоже, что вы смешивали конфигурации (трудно сказать наверняка только с общими частями изображений).

С одной стороны, вы определяете параметр (BUILD_BRANCH), чтобы иметь возможность указать, какой ветвь должна быть построена.

В другом, и, предполагая, что 2-е изображение принадлежит разделу Pipeline конфигурации проекта, вы пытаетесь использовать этот параметр, чтобы ограничить ветвь, которая должна использоваться для получения Jenkinsfile.

Эта 2-я ветка извлекается в другом рабочем пространстве (в другой папке) и используется только для получения файла Jenkinsfile. Даже если вы делаете полную проверку этого, это не означает, что у вас будет код этой ветви, доступный в вашей рабочей области.

Что вам нужно сделать, это использовать параметр в вашем конвейере и передать это на стадии оформления заказа.

...