【问题标题】:Maven, switching to a different profileMaven,切换到不同的配置文件
【发布时间】:2012-11-04 04:17:03
【问题描述】:

我对部署到持续集成服务器的项目的正确 maven 配置文件配置有疑问。

在我的项目中,有些资源只需要在日常构建阶段的测试中包含,而另一些则需要在夜间构建中包含,并且它们永远不能同时包含,因为构建过程会失败,我可以通过同时激活一个配置文件在本地实现。

持续集成服务器运行以下 maven 命令:
- 在每日构建期间:

mvn clean package -Pci -Dci

-在夜间构建期间

mvn clean install -Dmaven.test.failure.ignore -Pci,nightly -Dci -Dnightly

如您所见,nightly build 命令包括在 daily build 命令中定义的 maven 变量和配置文件,这给我带来了一些麻烦,因为我只想同时激活一个配置文件。

具体来说,我想要的是拥有 3 个独立的个人资料:
-my-pforile(默认激活,不用于 CI 服务器)
-ci-profile(仅在每日构建时激活,在 CI 服务器上使用)
-nightly-profile(仅在夜间构建时激活,在 CI 服务器上使用)

我怎样才能做到这一点?我几乎尝试了一切。重新配置 CI 服务器不是一种选择。

【问题讨论】:

    标签: maven profile pom.xml activation


    【解决方案1】:

    当我必须使用不同的配置文件配置相同的构建时,使用 Jenkins 作为 CI, 我通常创建与配置文件一样多的构建,因此每个构建都使用正确的配置。

    如果添加新版本不是一个选项,您可以尝试创建一个解决方法 使用类似 exec 插件 (http://mojo.codehaus.org/exec-maven-plugin/) 来下载 来自 ftp(或其他)的资源。 您还必须创建一个 cron 作业(或等效的)来替换构建之间的正确资源: 晚上你把晚上的资源放在那里,早上把白天的资源放在那里。

    但考虑到这个过程会有多麻烦,可能最好尝试添加 一个新的版本。

    【讨论】:

    • +1 获取有关不同配置文件的不同构建的注释。对于集成测试也很重要。
    猜你喜欢
    • 2015-06-16
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2012-11-19
    • 2017-12-21
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多