【发布时间】:2013-02-16 23:27:35
【问题描述】:
我正在为几个相互依赖的项目构建部署管道。每个构建都会生成一个具有唯一版本号的新发布构建,该版本会部署到 Maven 存储库。然后,管道中的下游项目将使用该新版本作为依赖项触发并以类似方式构建。
我需要在构建项目之前更改 pom.xml(或多模块项目中的所有 pom)中的属性值。例如,在以下代码中,“0.1.200”将更改为“0.1.345”(或任何最新的内部版本号)。使用系统属性不是一个选项,因为更新的 pom 将部署在 Maven 存储库中,因此更改必须是持久的。
<properties>
<foo.version>0.1.200</foo.version>
</properties>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>foo</artifactId>
<version>${foo.version}</version>
</dependency>
</dependencies>
是否有一些 Maven 插件可以通过一个命令行指令来执行此操作? 否则我需要编写一个简短的脚本(例如在 Ruby 中)来解析和更改所有 pom.xml 文件项目。
【问题讨论】:
标签: maven continuous-delivery build-pipeline