【发布时间】:2015-05-19 06:29:16
【问题描述】:
我编写了一些单元测试代码,打印出名为“JENKINS_BUILD”的 System.property 的值。当我在本地运行这些命令时,此属性有一个值:
mvn --batch-mode test -DJENKINS_BUILD=true
mvn test -DargLine="-DJENKINS_BUILD=true"
etc.
但是无论我做什么,当它们在 Jenkins 上运行时,我都无法将此属性纳入我的测试中。这是我在那里使用的命令行选项:
mvn -DargLine="-DJENKINS_BUILD=true" --batch-mode -Dresume=false release:prepare release:perform
略有不同,但我不明白它为什么重要。为什么 Jenkins 上的 System.getProperty("JENKINS_BUILD") 为空,但在我的本地环境中为“真”?这与使用release:prepare release:perform有关吗?
I think this is basically the same question,但我不确定。不同之处在于他试图将参数传递给发布插件,而我试图将它们传递给surefire插件。另外,我想在命令行中定义值,而不必更改我的 pom.xml。有没有办法做到这一点?
FWIW,我链接到的解决方案确实有效。
【问题讨论】:
标签: java maven jenkins maven-release-plugin