我的项目中有以下模块,
module - 1
module - 2
module - 3
module - 4
在Jenkins maven版本中,我只需发布模块 - 1和模块 - 2.
为此,我在root pom中创建了配置文件,其中包括模块-1和模块-2。
<profile>
<id>jenkins-release</id>
<modules>
<module>module - 1</module>
<module>module - 2</module>
</modules>
</profile>
如何在Jenkins maven发布期间执行此配置文件?
在Jenkins的“发布目标和选项”下指定配置文件(-P jenkins-release release:prepare release:perform
)不起作用。
在本地,它适用于:
mvn -P jenkins-release release:perform
答案 0 :(得分:2)
您的本地调用不一样。您只指定了目标release:prepare
,而在Jenkins中则release:prepare release:perform
。
发生了多次调用,因此您需要使用
-Darguments=-Pjenkins-release
你会注意到我省略了-P
和jenkins-release
之间的空格,以避免将整个内容放在引号之间,但我会留给你。
另一种选择是使用发布插件的releaseProfile
设置。
有关详细信息,请参阅Profile activation on both release:prepare and release:perform。
这有点冗长,但您应该使用-P
(release:prepare
}和-Darguments=...
(release:perform
)激活配置文件。此外,请确保使用最新版本的maven-release-plugin
,因为这有点儿错误。
像这样:mvn -Darguments=-Pjenkins-release -Pjenkins-release release:prepare release:perform
另一种方法是在自定义系统属性(例如-DdoMyRelease=true
)或您通过Jenkins设置的环境变量上激活配置文件。
您是否研究过<releaseProfiles>
选项?将它放在根POM中,如果它来自您正在进行的发布。