4

我们正在尝试为 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:)

有没有人尝试过如上所述的事情?

4

0 回答 0