使用 Jenkins 从 Git 自动构建 IBM ODM RuleApp

Posted

技术标签:

【中文标题】使用 Jenkins 从 Git 自动构建 IBM ODM RuleApp【英文标题】:Automate IBM ODM RuleApp build from Git using Jenkins 【发布时间】:2021-12-26 10:01:57 【问题描述】:

我需要如下构建 ODM RuleApp

    决策服务和 Java XOM 项目在 Git 中 从 Git 通过 Jenkins 构建 RuleApp 创建的 jar 文件将使用 Jenkins 上传到 Nexus

为了实现上述目的,我看到 IBM ODM 知​​识中心中指定的使用命令行构建项目的选项 https://www.ibm.com/docs/en/odm/8.10?topic=command-building-projects-build-line

没有Maven的选项,说,有2个步骤

    编写配置文件 建设项目

我的问题:

    我应该将配置(属性)文件放在 Git 中项目的根目录吗?换句话说,如果有一个名为 ODM 的文件夹,并且我在其中提交了我的决策服务和 Java XOM 项目,那么我的配置文件应该直接在“ODM”下……对吗? 配置文件的示例如下。我相信这 4 行足以与 XOM 一起构建我的 RuleApp。我没有扩展模型。

    project = ../HelloWorld/Hello 主服务/ 输出 = ../HelloWorld/输出 dep = 简单的 dep xom-classpath = XOM jars/hello-xom-1.0.0.jar

    为了构建 RuleApp,我看到了以下命令 java -jar Build_Command_Line_executable_archive -config configuration_file

例如:java -jar rules-compiler/rules-compiler.jar -config samples/config-files/CustomRuleModel.properties

我读到...对于配置文件引用的每个部署配置,该命令将 RuleApp 构建为指定输出文件夹中的独立存档。此文件的名称来自部署配置中指定的 RuleApp 名称。

一个。我应该把 rules-compiler.jar 放在哪里?

b. Jenkins 是指 Git 中的 .properties (CustomRuleModel.properties) 文件吗?这不是根文件夹下的吗?

c。这个输出文件夹是在哪里创建的?如何通过 Jenkins 将创建的 RuleApp .jar 文件移动到 Nexus?

d。 Jenkins 是否需要任何配置来构建 ODM RuleApp? Nexus 的任何特定配置?

我对 Git 和 Nexus 没有任何见解,正在寻找一些详细的指导。请帮忙。

谢谢,

【问题讨论】:

【参考方案1】:

几点说明:我建议使用 maven 编译器而不是规则编译器命令,因为它更易于使用。 https://www.ibm.com/docs/en/odm/8.10?topic=SSQP76_8.10.x/com.ibm.odm.dserver.rules.designer.run/build_topics/con_buildcmd_prep_env.html

关于您的问题,如果您使用该 Maven 插件:

a) 插件应该安装在你的 maven repo 中 b) 你能准确地回答这个问题吗? c) 输出文件夹在目标中 d) 您可以使用 Rule Execution Server REST API(使用 curl)部署生成的规则集

最好的 伊曼纽尔

【讨论】:

以上是关于使用 Jenkins 从 Git 自动构建 IBM ODM RuleApp的主要内容,如果未能解决你的问题,请参考以下文章

从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布

Jenkins自动构建

jenkins安装配置Git+Maven的自动化构建

jenkins安装配置Git+Maven的自动化构建

jenkins安装配置Git+Maven的自动化构建

jenkins安装配置Git+Maven的自动化构建