Хадсон/Дженкинс 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