Как использовать jenkins git плагин для сборки из ветки, включая источник или нет

При построении из git на мастер-дженкинсе выбирает и использует origin/master. При построении из git на ветке jenkins выбирается и пользователи mybranch не происходят /mybranch и не набирают изменений.

Я переключил спецификатор ветки, чтобы использовать origin/mybranch, и, похоже, он работает. Является ли стандартным способом обработки вещей или я не вижу более очевидного способа сделать это? Я не хочу добавлять ненужную сложность.

Пожалуйста, дайте мне знать, если дженкинс должен использовать происхождение/branchname вместо branchname для своего поля "Филиалы для сборки".

Спасибо

Петр

Ответ 1

Проверьте текущий .git/config, и вы увидите, что уже указано ваше "происхождение" и способ, которым мастер ссылается на происхождение. Никаких других ветвей не указывается, поэтому плагин не может создать URL-адрес. Чтобы добавить дополнительные ветки...

[remote "origin"]
        url = ssh://myserv/srv/git/proj.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[branch "im_a_branch"]
        remote = origin
        merge = refs/heads/im_a_branch_remote_branch_name

Это позволит вам просто указать имя ветки в ветвях для создания поля в Jenkins. Это, вероятно, излишнее, и дополнительное обслуживание. Просто введите источник/branchname.

Ответ 2

Если у вас есть только один удаленный репозиторий (с именем origin), то ввод branchname должен быть синонимом ввода origin/branchname. Если у вас несколько репозиториев, и вы просто вводите branchname, тогда он должен проверять все удаленные репозитории для этой ветки.

Обратите внимание, что если вы вручную создали ветвь с именем branchname в репозитории рабочей области Jenkins, это может иметь слегка странное поведение, и вы, вероятно, захотите удалить эту ветвь или создать новую рабочую область. В общем, вы никогда не должны вручную манипулировать ветвями в репозитории рабочей области.

Он никогда не должен пытаться использовать локальные (не удаленные) ветки для опроса или получения изменений. Если вы видите, что это так, то это определенно ошибка. Вы должны попытаться обновить свой экземпляр jenkins и плагин git до последней версии, и если вы все еще видите проблему, вы должны удалить файл ( и в то же время вы можете использовать origin/branchname как обходной путь). Однако ввод только branchname отлично подходит для меня с последней версией, поэтому, если вы продолжаете видеть эту проблему, я бы рекомендовал вам воссоздать рабочую область, чтобы попытаться получить чистый репозиторий.