Дженкинс строит вне рабочей области

#hudson #jenkins

#хадсон #дженкинс

Вопрос:

Я новичок в Jenkins / Hudson и пытаюсь перенести проект на основе C make из buildbot. По устаревшим причинам система сборки жестко запрограммирована для сборки за пределами версионного дерева исходных текстов (git), одним каталогом выше, в отдельном каталоге. Например.:

 workspace
  .git
  foo
  bar
build
  artifacts
  

Помимо того факта, что в конечном итоге создается каталог за пределами рабочей области, Jenkins не распознает элементы в сборке / каталоге выше для архивирования как артефакты.

Как я могу заставить такую систему сборки работать с Hudson? Построение в дереве исходных текстов не является краткосрочным вариантом. Единственным вариантом, который я нашел, было «использовать пользовательскую рабочую область», но все это делает это жестко — кодирует каталог рабочей области в какой-либо другой каталог.

Ответ №1:

Чтобы ответить на мой собственный вопрос: в плагине Jenkins git действительно есть опция для проверки в локальном подкаталоге вместо корня рабочей области. С помощью плагина git нажмите на кнопку Дополнительно и заполните поле «Локальный подкаталог для репозитория (необязательно)».

Комментарии:

1. Теперь, похоже, это переместилось в раздел «Дополнительные действия»

2. К вашему сведению, это не работает с плагином pipeline multibranch, поскольку он не может найти файл jenkins

Ответ №2:

Я не нахожу вариант, о котором упоминали djs, но вы можете указать другой рабочий каталог:

  1. Настройка задания
  2. Расширенные настройки проекта
  3. Используйте пользовательское рабочее пространство

Это значение может быть установлено везде, где вы хотите, также в рабочей области другого задания.

Комментарии:

1. Будьте осторожны, шаг создания артефакта не будет работать с путями за пределами рабочей области. Обходной путь заключается в копировании артефактов обратно в рабочую область или создании символической ссылки на их каталог.