Я пытаюсь настроить проект Multibranch в Jenkins, который использует Subversion. Я предоставил URL-адрес Subversion с магистралью, тегами и папкой ветвей, например http:///mysvn/mysvnproject
Журнал индексации ветвей выполнен успешно, отображается сообщение, похожее на
Проверка ветки-кандидата /mysvnproject/trunk@181182 Критерии соответствия Запланированная сборка для ветки: trunk Завершено: УСПЕШНО
Это указывает на то, что Дженкинс может найти мой Jenkinsfile
. Когда я удаляю этот файл, происходит сбой индексации ветвления.
Когда я запускаю сборку, происходит сбой с сообщением, подобным
[ОШИБКА] Указанная вами цель требует выполнения проекта, но в этом каталоге нет POM (/opt/jenkins/workspace/myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA). Убедитесь, что вы вызвали Maven из правильного каталога. -> [Помощь 1]
Когда я проверяю рабочую область на сервере, я вижу, что созданы три каталога.
drwxr-xr-x 2 jenkins jenkins 6 25 okt 11:56 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA
drwxr-xr-x 5 jenkins jenkins 78 25 okt 11:56 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA@script
drwxr-xr-x 2 jenkins jenkins 6 26 okt 07:08 myproject_trunk-2VTWI7CSGJKGC5PD7FA5VNZ27SJLDDFKIGYZO5K5N23XXZU7MEJA@tmp
- Этот первый каталог пуст и не является рабочей копией Subversion.
- Второй каталог (оканчивающийся на
@script
) является рабочей копией Subversion и содержит содержимое каталогаtrunk
иpom.xml
. - Последний каталог пуст, а также не является рабочей копией Subversion.
Дженкинс пытается запустить сборку в пустой директории.
#!groovy
node ('master') {
stage 'Compile'
env.PATH = "${tool 'Maven 3.2.5'}/bin:${env.PATH}"
sh 'mvn clean install -DskipTests'
}
Обходной путь для этой проблемы состоит в том, чтобы перейти в каталог сценария в каждом sh
, например, с помощью
sh 'cd ../*@script && mvn install -DskipTests'
Но это не должно быть необходимо..?
Почему это не работает сразу?