Maven从Jenkins发布

时间:2015-10-06 04:54:31

标签: maven jenkins release

我的项目中有以下模块,

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

enter image description here

1 个答案:

答案 0 :(得分:2)

您的本地调用不一样。您只指定了目标release:prepare,而在Jenkins中则release:prepare release:perform

发生了多次调用,因此您需要使用

-Darguments=-Pjenkins-release

你会注意到我省略了-Pjenkins-release之间的空格,以避免将整个内容放在引号之间,但我会留给你。

另一种选择是使用发布插件的releaseProfile设置。

有关详细信息,请参阅Profile activation on both release:prepare and release:perform

这有点冗长,但您应该使用-Prelease:prepare}和-Darguments=...release:perform)激活配置文件。此外,请确保使用最新版本的maven-release-plugin,因为这有点儿错误。

像这样:mvn -Darguments=-Pjenkins-release -Pjenkins-release release:prepare release:perform

另一种方法是在自定义系统属性(例如-DdoMyRelease=true)或您通过Jenkins设置的环境变量上激活配置文件。

您是否研究过<releaseProfiles>选项?将它放在根POM中,如果它来自您正在进行的发布。