2013-11-20 4 views
-2

У нас есть Jenkins 1.538, maven 3 и git 1.7 Существует много ветвей. Также в maven у нас около 7 сборок. Таким образом, проблема в том, что мы запускаем несколько сборок на J, одновременно сбой сборки, если мы запускаем его последовательно, мы потерпели неудачу. Пример:Как изолировать сборки на Jenkins

MultiJob1

build1.1 с профилем по умолчанию от branch1

build1.2 с профилем функциональной от branch1

MultiJob2

build2.1 с профилем по умолчанию из branch2

сборка2.2 с профилем из отрасли2

кто-то нажимает изменения в ветку1 и MultiJob1 запускается build1.1 - успешно завершен. Во время построения build1.1 другой разработчик нажимает свои изменения на триггеры branch2 и Multijob2 build2.1.

после build1.1 завершения J вызывает build1.2, но по какой-то причине принять изменения от branch2

в результате мы получаем загадочные исключения ошибки компиляции, что мы не получаем локально и когда мы огонь строит последовательно

что флажок я должен проверить, чтобы остановить непредсказуемое поведение

Я пытался использовать «Отключить автоматическое архивирование артефактов» и «Удалить рабочее пространство, прежде чем строить начинается» Надеюсь, что я объяснил, что это понятно.

+0

Это звучит, как ваши версии Maven не отличаются от ветвей. Дженкинс делает отношения на основе версий (в частности, SNAPSHOT). Таким образом, у вас должны быть такие версии, как '1.0-BRANCH1-SNAPSHOT' и' 1.0-BRANCH2-SNAPSHOT' – khmarbaise

+0

Просьба предоставить дополнительную информацию о том, устанавливаете ли вы артефакты в локальном репо и какие ветви создают разные версии. –

ответ

2

В Maven Build конфигурации включить опцию:

  • Используйте личное хранилище Maven
+0

Как сделать J share репозиторий maven для build1,2 и 3. Я вижу там 3 варианта: default, executor и workspace. Что такое рабочее пространство? и есть ли возможность использовать собственное имя рабочей области –

+0

Вы хотите поделиться os изолировать задания? Я смущен. В Jenkins есть опция 'Использовать пользовательскую рабочую область'. Также вы можете использовать опцию «Файл настроек» - «Файл настроек в файловой системе» и гибко настроить рабочее пространство. – MariuszS

+0

Я хочу разделить рабочее пространство между сборками внутри MultiJob, но изолировать между различными Multijobs. –

Смежные вопросы