Как использовать jenkins git plugin для сборки из ветки с включением источника или нет - PullRequest
10 голосов
/ 28 июня 2011

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

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

Пожалуйста, дайте мне знать, если jenkins должен использовать origin / branchname вместо branchname для своего поля Branches-To-Build.

Спасибо

Peter

Ответы [ 2 ]

3 голосов
/ 29 июня 2011

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

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

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

2 голосов
/ 28 июня 2011

Проверьте ваш текущий .git / config, и вы увидите, что ваш "origin" и как master относится к origin уже указан. Другие ветви не будут указаны, поэтому плагин не может создать 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.

...