Подтвердить что ты не робот

Хадсон/Дженкинс Git построить все ветки

У нас есть много разработчиков, создающих ветки функций, которые я хотел бы создать. Ночью мы запускаем инструмент качества кода, который нужно запускать на каждой ветке. Мне также не нужна статическая конфигурация, потому что число ветвей меняется каждые несколько недель.

4b9b3361

Ответ 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