我们正在尝试为 BusinessWorks 6.x 应用程序定义 SDLC。我们主要是一家 Java 商店,所以我们的经典 SDLC 涉及 Jenkins、Maven 和 Artifactory。
我们最近开始为基于 BW6 的 SOA 项目构建适配器,我们希望将相关项目集成到我们的 SDLC 中。在一个完美的世界中,我们希望:
- 能够自主版本、构建和发布共享模块
- 在构建应用程序时,将共享模块解析并集成为依赖项(à la Maven,从存储库中获取版本化的工件)
- 在发布前执行验证(可能是自动化测试?)
我们已经查看了Maven BW6 插件,但它有点过于简单——例如,它没有提供一种将共享模块构建和发布为自治实体的方法,并且它无法解析来自在 POM 中声明为依赖项的共享模块的资源。此外,为工作区创建根 POM 的方法看起来有点脆弱,而且 POM 更新往往会破坏事情。
我们目前正在考虑利用 bwdesign 实用程序,其流程如下所述。
对于共享模块:
- 克隆/签出共享模块的源代码
- 使用空目录作为工作区启动 bwdesign
- 系统:将签出的模块导入空工作区
- 系统:验证,打破错误
- 系统:导出为 ZIP 文件
- 将 ZIP 文件部署到 Artifactory,使用适当的命名约定以便之后能够解析它
对于应用:
- 克隆/签出应用程序和应用程序模块的源代码
- 使用应用模块的清单解决依赖关系
- 获取引用的共享模块的所有 ZIP 文件
- 使用空目录作为工作区启动 bwdesign
- 系统:以满足依赖关系的顺序导入共享模块 ZIP
- system:import 应用模块和应用目录
- 系统:验证,打破错误
- 系统:导出为 EAR 文件
- 再次使用适当的命名约定将 EAR 文件部署到 Artifactory
看起来真的很麻烦,尤其是当你习惯了mvn clean package
:)
有没有人尝试过如上所述的事情?