【发布时间】:2011-05-25 09:50:01
【问题描述】:
我目前有大约 16 个使用 maven 构建的项目,这些项目部署到构成“门户”之类的同一应用程序服务器上。我已经构建了一个父 pom 来处理常见的依赖项和插件配置。目前,我的 SVN 结构类似于:
portal_root
+project1
+tags
+branches
+trunk
+project2
.
.
.
+projectn
pom.xml
各个项目都是单独部署的。也就是说,project1 对 project2 没有依赖关系,每个都可以修改和部署,而无需修改其他任何内容。
这给 SVN 带来了一个问题,就好像另一个开发人员想要检查整个“门户”根目录(也可以获得父 pom),他们也会默认下拉所有标签和分支的副本!不是很理想。
我能想到的唯一另一件事是使用这样的东西:
portal_root
+tags
+branches
+trunk
+project1
+src
pom.xml
+project2
.
.
.
pom.xml
但是,现在所有项目更改都将在标签文件夹中进行跟踪。这对我来说不是一个大问题,但现在分支似乎变得很痛苦。
我目前也在努力将 Teamcity 连接到其中,这现在会更容易一些,因为我只需要查看一个目录(例如标签)即可捕获需要构建的所有内容。我还将工件部署到企业 Nessus 存储库。
我希望有人可以在这里给我一些建议,因为我在这里找不到任何关于整个构建生命周期和最佳实践的像样的文档。
我喜欢能够使用单个 maven 命令构建和部署所有项目的想法。我还喜欢将所有常见的依赖项、存储库信息和插件信息放在一个地方。
【问题讨论】: