0

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

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

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

mvn clean package -Pci -Dci

-在夜间构建期间

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

如您所见,夜间构建命令包括在日常构建命令中定义的 Maven 变量和配置文件,这给我带来了一些麻烦,因为我只想同时激活一个配置文件。

具体来说,我想要的是拥有 3 个单独的配置文件:
-my-pforile(默认激活,不在 CI 服务器上使用)
-ci-profile(仅在每日构建时激活,在 CI 服务器上使用)
-nightly-profile(仅在每晚构建,在 CI 服务器上使用)

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

4

1 回答 1

2

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

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

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

于 2012-11-15T14:50:46.203 回答