这是我项目中pom.xml
的摘录。
<properties>
<Port>2020</Port>
<threads>20</threads>
<test.suite />
<test.suite.path />
<useTag />
<useTestCase />
<args>-Dthreads=${threads} -Dtest.suite.path=${test.suite.path} -Dappenv=${test.app.env} -Dtest.suite=${test.suite} -DuseTag=${useTag} -DuseTestCase=${useTestCase}</args>
</properties>
当maven构建时,我想知道如何设置变量test.suite
,test.suite.path
,useTestCase
?我在pom
的任何地方都没有看到它。但Jenkins
构建工作正常,它已替换这些占位符的值。
使用这种属性设置的用途是什么。 <variable/>
而不是<variable>...</variable>
?
答案 0 :(得分:1)
要准确说明如何设置这些属性,我们需要查看整个pom结构,包括父pom以及Jenkins作业配置。
但是,我知道可以设置这些属性的两种方法:
通过您父亲之一的个人资料
调用maven时通过系统属性
我的猜测是,您的父母之一设置了这些属性的个人资料。像这样:
<profile>
<id>jenkins</id>
<properties>
<test.suite>...</test.suite>
...
</properties>
</profile>
此配置文件已在Jenkins服务器上激活。查看here以获取有关如何激活配置文件的信息。
另一个选项是,当从Jenkins调用maven时,这些属性被指定为系统属性。
至于为<variable/>
使用<variable></variable>
的原因,这是一个品味问题。 <variable/>
与XML中的<variable></variable>
意思相同。