如何在 Teamcity 上为 Maven 设置多个属性
How to set multiple properties for Maven on Teamcity
配置使用 Maven 运行ner 的 "Additional Maven command line parameters" 设置将 属性 传递给 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 上的测试 运行,而不是为每个测试更改 poms。
我在 TeamCity 上几乎看不到此配置的任何示例。
您的道具相差 -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
将配置参数应用于配置两次已成功。感谢Pomidor前辈的配置参数建议
在构建参数或构建模板中创建配置参数%mavenArguments%
:
-DpropCheck=true -DpropPath=file_on_disk-1.path
然后在 Additional Maven command line parameters
的 Maven 构建步骤中应用提供的配置参数(直接在构建步骤或通过构建模板工作),如下所示:
%mavenArguments%
-Darguments='%mavenArguments%'
我仍然不知道为什么不能通过直接写入 Additional Maven command line parameters
来正确应用它,但它终于起作用了。
配置使用 Maven 运行ner 的 "Additional Maven command line parameters" 设置将 属性 传递给 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 上的测试 运行,而不是为每个测试更改 poms。 我在 TeamCity 上几乎看不到此配置的任何示例。
您的道具相差 -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
将配置参数应用于配置两次已成功。感谢Pomidor前辈的配置参数建议
在构建参数或构建模板中创建配置参数%mavenArguments%
:
-DpropCheck=true -DpropPath=file_on_disk-1.path
然后在 Additional Maven command line parameters
的 Maven 构建步骤中应用提供的配置参数(直接在构建步骤或通过构建模板工作),如下所示:
%mavenArguments%
-Darguments='%mavenArguments%'
我仍然不知道为什么不能通过直接写入 Additional Maven command line parameters
来正确应用它,但它终于起作用了。