Хадсон/Дженкинс Git построить все ветки
У нас есть много разработчиков, создающих ветки функций, которые я хотел бы создать. Ночью мы запускаем инструмент качества кода, который нужно запускать на каждой ветке. Мне также не нужна статическая конфигурация, потому что число ветвей меняется каждые несколько недель.
Ответы
Ответ 1
В конфигурации Git есть поле "Спецификатор ветвления" (пустое значение по умолчанию): '
если вы там положите **, он построит все ветки из всех пультов.
с тем, что вы можете использовать переменную окружения ${GIT_BRANCH}, например. установить заголовок для сборки с помощью https://wiki.jenkins-ci.org/display/JENKINS/Build+Name+Setter+Plugin или для других целей
Ответ 2
У меня была та же проблема, которую нужно решить. В частности, сделайте zip файл всех веток и предложите их как артефакты, которые будут использоваться в разных тестовых заданиях.
В "Филиалах для сборки" поставьте "**"
Затем выполнить оболочку:
while read -ra ITEM; do
for i in "${ITEM[@]}"; do
git checkout $i
<do your stuff>
done
done <<< $(git branch -r | grep -v "HEAD ->" | xargs -L 1 | cut -d'/' -f2)
Это считывает список ветвей, каждую проверку каждого из них и позволяет делать вещи в каждом из них. < команда преобразует этот вывод:
origin/HEAD -> origin/master
origin/branch1
origin/master
origin/secondbranch
в полезный список выписок:
branch1
master
secondbranch
Ответ 3
Старый вопрос, но несколько более подходящий ответ. Плагин с несколькими ветвями ниже позволяет вам создать тип элемента сборки, который отлучает подпроекты с веткими, автоматически синхронизируя конфигурацию с верхнего уровня на подпроекты
https://wiki.jenkins-ci.org/display/JENKINS/Multi-Branch+Project+Plugin
Для более привлекательного подхода плагин Seed дает вам большую гибкость при определении подзаголовков
https://github.com/jenkinsci/seed-plugin/wiki