我有两个项目,即Abc和DEF . 现在项目DEF依赖于项目Abc . 每天我们使用Jenkins构建的运行 . 项目Abc工件将部署到Nexus . 项目DEF必须使用由项目Abc创建的nexus目录中的最新快照 .
我不应该每次更改项目DEF pom.xml文件以从项目Abc中获取最新版本 . 我怎样才能实现这个自动化过程 .
顺便说一下,我使用 buildnumber-maven-plugin 在项目Abc中进行自动版本增量 .
buildnumber-maven-plugin
我假设你在DEF的pom.xml中有这样的东西
<dependency> <groupId>some.group.id</groupId> <artifactId>Abc</artifactId> <version>1.00.000-SNAPSHOT</version> <scope>compile</scope> </dependency>
有了这个,只要在Jenkins中将Abc和DEF配置为Maven-Jobs,CI-Server就会注意到每次构建一个SNAPSHOT for Abc时都会触发新的DEF构建(当然,除非是旁边的某个人) CI-Server正在构建SNAPSHOT并将其部署到Nexus存储库,这不应该发生 . )
如果要始终强制使用Nexus存储库中的最新快照,则可以将选项-U添加为Maven选项 .
1 回答
我假设你在DEF的pom.xml中有这样的东西
有了这个,只要在Jenkins中将Abc和DEF配置为Maven-Jobs,CI-Server就会注意到每次构建一个SNAPSHOT for Abc时都会触发新的DEF构建(当然,除非是旁边的某个人) CI-Server正在构建SNAPSHOT并将其部署到Nexus存储库,这不应该发生 . )
如果要始终强制使用Nexus存储库中的最新快照,则可以将选项-U添加为Maven选项 .