第 3 章 使用红帽决策管理器项目存储和构建选项

当您开发红帽决策管理器项目时,您需要使用一个版本控制的存储库跟踪项目版本,在稳定的环境中管理项目资产,并构建项目以测试和部署。您可以将 Business Central 用于所有这些任务,或使用 Business Central 和外部工具和存储库的组合。Red Hat Decision Manager 支持 Git 存储库用于项目版本控制,Apache Maven 用于项目管理,以及各种基于 Maven、基于 Java 的构建选项。

以下选项是 Red Hat Decision Manager 项目版本控制、存储和构建的主要方法:

表 3.1. 项目版本控制选项(Git)

版本控制选项描述Documentation

Business Central Git VFS

Business Central 包含内置 Git 虚拟文件系统(VFS),它存储您在编写环境中创建的所有进程、规则和其他工件。Git 是一个分布式版本控制系统,它将修订版本实施为提交对象。当您将更改提交到存储库时,会在 Git 存储库中创建新的提交对象。当您在 Business Central 中创建项目时,该项目将添加到连接到 Business Central 的 Git 存储库中。

不适用

外部 Git 存储库

如果您在 Business Central 之外的 Git 存储库中具有红帽决策管理器项目,您可以将它们导入到红帽决策管理器空间,并使用 Git hook 来同步内部和外部 Git 存储库。

在 Business Central 中管理项目

表 3.2. 项目管理选项(Maven)

管理选项描述Documentation

Business Central Maven 存储库

Business Central 包含内置 Maven 存储库,可在编写环境中组织并构建您创建的项目资产。Maven 是一个分布式构建自动化工具,它使用存储库来存储 Java 库、插件和其他构建工件。在构建项目和架构类型时,Maven 从本地或远程存储库动态检索 Java 库和 Maven 插件,以提升项目之间的共享依赖项。

注意

对于生产环境,请考虑使用配置了 Business Central 的外部 Maven 存储库。

不适用

外部 Maven 存储库

如果您在外部 Maven 存储库中拥有红帽决策管理器项目,如 Nexus 或 Artifactory,您可以创建一个带有连接详情的 settings.xml 文件,并将该文件路径添加到项目 standalone-full.xml 文件中的 kie.maven.settings.custom 属性中。

Maven 设置参考

打包和部署红帽决策管理器项目

表 3.3. 项目构建选项

构建选项描述Documentation

Business Central (KJAR)

Business Central 构建红帽决策管理器项目,存储在内置的 Maven 存储库或已配置的外部 Maven 存储库中。Business Central 中的项目自动打包为知识 JAR (KJAR)文件,其中包含构建项目时部署所需的所有组件。

打包和部署红帽决策管理器项目

独立 Maven 项目(KJAR)

如果您在 Business Central 之外有一个独立的红帽决策管理器 Maven 项目,您可以编辑项目 pom.xml 文件,以将项目打包为 KJAR 文件,然后使用构建项目所需的 KIE 基础和 KIE 会话配置添加 kmodule.xml 文件。

打包和部署红帽决策管理器项目

嵌入式 Java 应用程序(KJAR)

如果您有一个要从中构建红帽决策管理器项目的嵌入式 Java 应用程序,您可以使用 KieModuleModel 实例以编程方式创建一个带有 KIE 基础和 KIE 会话配置的 kmodule.xml 文件,然后将项目中的所有资源添加到 KIE 虚拟文件系统 KieFileSystem 中。

打包和部署红帽决策管理器项目

CI/CD 工具(KJAR)

如果您使用一个工具进行持续集成和持续交付(CI/CD),您可以将工具集配置为与红帽决策管理器 Git 存储库集成来构建指定项目。确保您的项目已打包并构建为 KJAR 文件,以确保优化部署。

不适用

OpenShift 中的 S2I (容器镜像)

如果您在 Red Hat OpenShift Container Platform 上使用 Red Hat Decision Manager,您可以以典型的方式构建 Red Hat Decision Manager 项目,或使用 Source-to-Image (S2I)构建项目作为容器镜像。S2I 是一个框架和工具,它允许您编写使用应用源代码的镜像作为输入,并生成作为输出运行汇编应用程序的新镜像。使用 S2I 工具构建可重复生成的容器镜像的主要优点是便于开发人员使用。

在 OpenShift 中创建镜像