我们正在将我们的主要构建过程从 ant 转换为 maven。我们将 TeamCity 用于我们的持续集成服务器 (CI)。
我们想使用 CI 服务器启动(每晚)版本包含构建号的构建,如 1.0.0.build#。这些构建将安装在我们的本地 Maven 存储库中,以供其他项目使用。因此 CI 服务器将管理版本,maven 将构建项目,而 maven 存储库将使其他项目可以访问构建。
我打算使用以下命令从 CI 服务器启动构建:
mvn -Dversion=1.0.0.25 install
该项目的 pom 将有一个虚假的版本号,并且 -D 标志将覆盖它,如下所示:
<version>0.0.0.0</version>
这种方法的问题是maven install插件只使用pom文件中的版本,而不是命令行传入的版本。这在这个 Maven 问题中有所说明。
因此,由于此问题自 08/2006 以来一直存在并且尚未修复,因此我认为这在某种程度上不是“行家之道”。所以我的问题是,如何在持续集成的情况下使用 Maven 在存储库中安装版本化的工件?