Как установить несколько свойств для Maven в Teamcity

Конфигурация передает свойство в Maven с помощью параметра "Дополнительные параметры командной строки Maven" для бегуна Maven. Это сделано с -Darguments='' Итак maven-release-plugin может использовать аргументы при каждом запуске, так как он разветвляет новые процессы.

Для одного свойства конфигурация:

-DsomeProp=%teamcity.agent.name% -Darguments='-DimportantProp=true'

Проблема заключается в передаче нескольких свойств, например, так:

-DsomeProp=%teamcity.agent.name% -Darguments='-DimportantProp=true -DsecondProp=file_on_disk.name'

Для конфигурации с несколькими свойствами журнал сборки показывает, что importantProp решается как true -Dsecondprop=file_on_disk.name что, как ожидается, недопустимое значение. Второе свойство secondProp тогда не применяется, поскольку строка поглощается значением importantProp,

Это делается для того, чтобы упростить выполнение тестов в TeamCity, а не менять пометки для каждого теста. Я не вижу каких-либо примеров для этой конфигурации на TeamCity.

2 ответа

Решение

Применение параметра конфигурации к конфигурации дважды сработало. Спасибо за предложение по параметру конфигурации Старший Помидор.

Создать параметр конфигурации в параметрах сборки или шаблон сборки %mavenArguments%:

-DpropCheck=true -DpropPath=file_on_disk-1.path

Затем примените предоставленный параметр конфигурации в Additional Maven command line parameters на этапе сборки Maven (работает непосредственно на этапе сборки или с помощью шаблона сборки) следующим образом:

%mavenArguments%
-Darguments='%mavenArguments%'

Я до сих пор не знаю, почему он не применяется правильно, написав прямо в Additional Maven command line parameters но это наконец работает.

Ваши реквизиты отличаются -DsecondProp=true, Таким образом, вы должны создать только одну опору для прохода. Давайте назовем mainProp

Кроме того, нам нужно добавить новый реквизит, который содержит пустой, если не отмечен или -DsecondProp=true если проверено Создать параметр флажка additionalParam с

  • проверенное значение - -DsecondProp=true
  • непроверенное значение - `` (ничего)

Теперь нам нужно добавить этот параметр cb в наш mainProp. mainProp = -DsomeProp=%teamcity.agent.name% -Darguments='-DimportantProp=true %additionalParam%'

Когда вы запустите сборку, вы можете поставить галочку и пройти -DsomeProp=%teamcity.agent.name% -Darguments='-DimportantProp=true -DsecondProp=true

Другие вопросы по тегам