我正在尝试理解将我们的Java项目从快照/发布策略切换到构建推广的所有影响。
一个明显的步骤是每个构建都会创建一个可能一直到生产环境的工件,因此不再有快照了。但是,如何管理项目到其他工件的链接呢?这些工件可能允许或不允许进入生产环境?
我很难在这个特定主题上找到有价值的信息。当然,构建推广经常被谈论,但在迁移到构建推广的情况下,依赖关系管理的能见度较低。
我看到两种选择:
- 一个只能依赖于之前已推广到生产环境的工件
- 当一个依赖于另一个工件时,构建的工件只能到达其依赖项的最后一个环境。也就是说,如果我依赖于一个允许进入测试但不允许进入生产环境的工件,则我的构建将无法进入生产环境
关于这个话题有行业标准或最佳实践吗?
非常感谢您的帮助 :)
编辑:
我们部署到Artifactory三种类型的工件:
库
EARs
EAR中的模块。其中一些是“公共”层,任何想要与当前构建的EAR进行交互的EAR都需要这些层
我们将EAR部署到JEE服务器。我们的库和公共层被部署到Artifactory并打包在EAR中,因此它们不会直接部署在JEE容器上。
一个项目构建多个模块,并将所有内容打包在一个EAR中,以及其依赖项。一个项目可以依赖于另一个项目的模块,这就使问题变得复杂了...