#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. Будьте осторожны, шаг создания артефакта не будет работать с путями за пределами рабочей области. Обходной путь заключается в копировании артефактов обратно в рабочую область или создании символической ссылки на их каталог.