在TeamCity构建步骤中使用Maven属性

4

我想使用在pom.xml中定义的属性。现在我想在我的TeamCity构建步骤中引用这个属性值。

目前我只能引用另一个方向,在Maven中使用TeamCity属性。

特别是,我想使用SSH Deployer和目标为url/path/%maven.output.type%/something

<properties>
    <!-- Art der Entwicklung -->
    <output.type>testing</output.type>
</properties>

我尝试的方法是在TeamCity中定义一个参数,但我不知道如何定义此参数的值。

是否有办法在TeamCity构建中使用此属性?


你解决了吗?我也有同样的需求。 - CMont
很遗憾,我无法解决这个问题。我认为目前还不可能实现。 - FaltFe
同时,我找到了一个解决方案,并将其发布为答案。 - CMont
1个回答

1
您可以运行一个脚本,设置一个TeamCity参数,然后在另一个构建步骤中使用该参数。以下是我使用的构建配置设置:
创建一个配置参数,使用下一步中使用的名称(例如outputType),并将其值设置为空文本。
添加一个构建步骤,选择运行类型为Command line:
选择运行自定义脚本。
在自定义脚本字段中输入一个脚本,该脚本将从pom文件中提取值,并告诉TeamCity将其设置为参数。例如:
testing=sed -n 's:.*<output\.type>\(.*\)</output\.type>.*:\1:p' pom.xml echo "##teamcity[setParameter name='outputType' value='$testing']"
这将使用当前项目pom文件中名为output.type的元素的值来设置TeamCity参数outputType。
在另一个构建步骤中,您可以在字段中使用该参数,例如目标字段:
somepath/%outputType%

这是一个有趣的方法。 我忘了提到我被迫只使用一个构建步骤。后来我们决定使用不同的Maven配置文件来更改属性。 - FaltFe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接