Bamboo: изменить корень сборки для плагина maven?

У меня есть план Bamboo, который включает сборку с maven в Windows. Путь по умолчанию к каталогу сборки под пользователем bamboo длинный, и некоторые файлы превышают ограничение Windows в 255 символов. Я хотел решить проблему, изменив (только для этого плана) место, где запускаются Mavens, на короткий каталог C:\build. Я могу извлечь файлы, а затем выполнить шаг сценария, чтобы скопировать их из каталога сборки в C:\build. Задача Maven bamboo настроена на переопределение файла проекта, используя вместо этого C:\build\pom.xml. Это все работает нормально. Однако, когда он доходит до части release:prepare «проверить обновленный pom», он каким-то образом решает, что исходный каталог сборки с длинным путем верен, и умирает с ошибкой.

Кто-нибудь знает, как указать, что обновленный pom также должен поступать из C:\build? Я попытался переопределить запись «Рабочий подкаталог», но это не позволило мне указать полный путь, поэтому C:\build отсутствует.


person Dave Combs    schedule 31.12.2013    source источник


Ответы (2)


Вы пытались переопределить localRepoDirectory параметр?

Каталог локального репозитория командной строки, используемый для этой сборки (если указан).

Значение по умолчанию: ${maven.repo.local}.

Вы можете установить этот параметр с помощью свойства в POM:

<properties>
  <propertyName>C:\build</propertyName>
</properties>
...
<localRepoDirectory>${propertyName}</localRepoDirectory>

Его можно переопределить в команде Bamboo Maven:

mvn -DpropertyName="D:\build" clean package

(переменные Bamboo также можно использовать для установки propertyName)

Вы можете определить одно свойство с желаемым путем и использовать его в нескольких местах в pom.xml.

person Vlad.Bachurin    schedule 31.12.2013
comment
Влад, спасибо за комментарий. В конечном итоге мне не пришлось это пробовать, так как проблема(ы) оказалась несколько иной. Смотрите мой ответ на мой собственный вопрос ниже. - person Dave Combs; 02.01.2014

Оказывается, с задачей Maven 3.x происходило несколько разных вещей:

  • Установив для файла проекта переопределения значение C:\build\pom.xml, я смог получить задачу попытаться построить C:\build.

  • Часть моего копирования файлов из обычного корневого каталога в C:\build была ошибочной. Я использовал xcopy, но забыл добавить /H для копирования данных .svn, поэтому шаг «регистрация обновленного pom» не удался, потому что не удалось найти файлы .svn.

  • После того, как выпуск: подготовка и выпуск: выполнение были завершены, ранее был определен бамбуковый шаг «Копирование артефакта», чтобы скопировать несколько сгенерированных артефактов обратно в репозиторий maven. Оказывается, хотя этот шаг в некоторой степени настраивается в отношении того, какие файлы копировать и где их можно найти, он не поддерживает предоставление абсолютного пути в качестве каталога для копирования, в отличие от файла проекта переопределения для задач maven. Поэтому мне пришлось ввести еще один шаг, скрипт для копирования сгенерированных артефактов обратно из C:\build... в корень сборки.

В общем, я не смог возиться с корнем сборки, как хотел, но с помощью файла проекта переопределения и двух скриптов для копирования исходных файлов в C:\build и артефактов обратно из C:\build, Я сделал то, что мне нужно было сделать.

person Dave Combs    schedule 02.01.2014