Oinone平台部署及依赖说明(v5.1)

概述

名词解释

  • 业务工程包:指平台提供的内置基础包和内置功能包。
  • 设计器工程包:指模型设计器、界面设计器、流程设计器等相关依赖包。
  • 父POM:仅声明依赖包版本的pom文件
  • 启动工程POM:仅声明具体依赖包的pom文件,一般不用于指定版本。

业务工程部署

Oinone平台向合作伙伴提供前后端业务工程所需的全部依赖,依赖项的具体说明下面会分别介绍。

设计器部署

Oinone平台向合作伙伴提供了两种设计器部署方式:

  • Docker镜像:支持amd64arm64两种架构的操作系统。(推荐)
  • JAR包:与Docker镜像中的内容完全一致。

使用JAR包直接启动需要使用Oinone专属启动器Docker镜像已内置Oinone专属启动器。

PS:如遇到以上部署方式或提供的镜像无法满足部署需求时,请联系Oinone平台售后获取技术支持。

Docker镜像

体验镜像

  • 包括所有设计器。
  • 内置所有所需中间件,包括Mysql、Redis、Zookeeper、RocketMQ。

适用场景:用于快速体验Oinone平台全部功能

docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.1:TAG

前后端一体部署镜像

  • 包括所有设计器。
  • 无内置中间件。

适用场景:用于便捷部署Oinone平台的前后端服务

docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.1:TAG

前后端一体部署镜像 – 流程设计器

  • 仅包括流程设计器。
  • 无内置中间件。

适用场景:用于便捷部署仅需流程设计器的Oinone平台的前后端服务。

docker pull harbor.oinone.top/oinone/workflow-designer-v5.1:TAG

后端部署镜像

  • 用于前后端分别部署,包括所有设计器。
  • 仅包含后端服务
  • 无内置中间件

适用场景:Kubenetes部署;支持健康检查,前后端分离部署;

docker pull harbor.oinone.top/oinone/designer-backend-v5.1:TAG

前端部署镜像

  • 用于前后端分别部署,包括所有设计器。
  • 仅包含前端服务
  • 无内置中间件

适用场景:Kubenetes部署;支持健康检查,前后端分离部署;

docker pull harbor.oinone.top/oinone/designer-frontend-v5.1:TAG

镜像拉取

以体验镜像为例,Oinone平台提供多种拉取镜像的方式。

# 获取混合架构镜像,支持amd64和arm64架构的操作系统
docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.1:5.1.13

# 仅获取amd64架构镜像
docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.1:5.1.13-amd64

# 仅获取arm64架构镜像
docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.1:5.1.13-arm64

# 获取最新版镜像(每次拉取自动更新)
docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.1

PS:如镜像拉取过慢,可在确定操作系统架构的情况下获取amd64arm64架构镜像。

JAR包获取

  • $VERSION:对应镜像版本号

包含所有设计器的后端JAR包下载路径示例

https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/oinone-designer/pamirs-designer-boot-v5.1-$VERSION.jar

仅包含流程设计器的后端JAR包下载路径示例

https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/workflow-designer/pamirs-workflow-designer-boot-v5.1-$VERSION.jar

Kubernetes后端部署健康检查

准备健康检查脚本

将以下脚本放置在镜像中。/opt/pamirs/bin/healthCheck.sh为以下示例中所用脚本路径。(平台提供的设计器镜像有内置该脚本,并与示例路径一致)

#!/usr/bin/env bash

function sendDingTalkMessage() {
    url=$DING_TALK_ROBOT_URL
    if [ -z $url ]; then
        return -1
    fi
    message=$DING_TALK_ROBOT_MESSAGE
    if [ -z $message ]; then
        return -1
    fi
    message="$message\\nby kubernetes"
    isAtAll=$DING_TALK_ROBOT_IS_AT_ALL
    if [ $isAtAll ]; then
        isAtAll="true"
        message="$message\\n"
    else
        isAtAll="false"
    fi
    message="{\"msgtype\": \"text\",\"text\": {\"content\":\"$message\"}, \"isAtAll\": \"${isAtAll}\"}"
    curl "${url}" -H 'Content-Type: application/json' -d "${message}"
}

port=$1
callback=$2
OK=$(curl -s http://127.0.0.1:${port}/ruok)
if [ "$OK" == "imok" ]; then
    if [ -n $callback ]; then
        $callback
    fi
    exit 0
else
    exit 1
fi

配置Kubernetes健康检查

kind: Deployment
apiVersion: apps/v1
spec:
  template:
    spec:
      containers:
        - name: designer-backend
          env:
            - name: DING_TALK_ROBOT_URL # 钉钉机器人发送部署通知消息地址
              value: https://oapi.dingtalk.com/robot/send?access_token=xxxxxx
            - name: DING_TALK_ROBOT_MESSAGE # 通知信息
              value: 后端服务部署启动成功
            - name: DING_TALK_ROBOT_IS_AT_ALL # 是否at所有人
              value: 'true'
          livenessProbe:
            exec:
              command:
                - sh
                - '-c'
                - sh /opt/pamirs/bin/healthCheck.sh 8080
            initialDelaySeconds: 300
            timeoutSeconds: 5
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 100
          readinessProbe:
            exec:
              command:
                - sh
                - '-c'
                - sh /opt/pamirs/bin/healthCheck.sh 8080
            initialDelaySeconds: 60
            timeoutSeconds: 5
            periodSeconds: 5
            successThreshold: 1
            failureThreshold: 3
          startupProbe:
            exec:
              command:
                - sh
                - '-c'
                - sh /opt/pamirs/bin/healthCheck.sh 8080 sendDingTalkMessage
            initialDelaySeconds: 300
            timeoutSeconds: 5
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 100

PS: 8080为容器内后端服务端口;sendDingTalkMessage参数表示启动成功时发送钉钉消息通知。

Kubernetes前端部署健康检查

前端镜像使用nginx作为基础镜像,其健康检查方式与nginx镜像的健康检查方式一致。

kind: Deployment
apiVersion: apps/v1
spec:
  template:
    spec:
      containers:
        - name: designer-frontend
          livenessProbe:
            tcpSocket:
              port: 80
            initialDelaySeconds: 10
            timeoutSeconds: 5
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3
          readinessProbe:
            tcpSocket:
              port: 80
            initialDelaySeconds: 10
            timeoutSeconds: 5
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3

后端依赖

Oinone平台后端使用Maven管理工具对所有依赖包进行版本管理。

版本说明

下面是在每个版本升级说明中提供的所有依赖版本,最新版本请查看对应的最新升级说明文档。

版本更新日志

<!-- 平台基础 -->
<pamirs.middleware.version>5.0.3</pamirs.middleware.version>
<pamirs.k2.version>5.1.7</pamirs.k2.version>
<pamirs.framework.version>5.1.13</pamirs.framework.version>
<pamirs.boot.version>5.1.8</pamirs.boot.version>
<pamirs.distribution.version>5.1.7</pamirs.distribution.version>
<!-- 平台功能 -->
<pamirs.metadata.manager>5.1.2</pamirs.metadata.manager>
<pamirs.designer.metadata.version>5.1.3</pamirs.designer.metadata.version>
<pamirs.core.version>5.1.19</pamirs.core.version>
<pamirs.workflow.version>5.1.8</pamirs.workflow.version>
<pamirs.workbench.version>5.1.0</pamirs.workbench.version>
<pamirs.data.visualization.version>5.1.3</pamirs.data.visualization.version>
<!-- 设计器 -->
<pamirs.designer.common.version>5.1.2</pamirs.designer.common.version>
<pamirs.flow.designer.base.version>5.1.3</pamirs.flow.designer.base.version>
<pamirs.workflow.designer.version>5.1.2</pamirs.workflow.designer.version>
<pamirs.model.designer.version>5.1.4</pamirs.model.designer.version>
<pamirs.ui.designer.version>5.1.9</pamirs.ui.designer.version>
<pamirs.data.designer.version>5.1.2</pamirs.data.designer.version>
<pamirs.dataflow.designer.version>5.1.1</pamirs.dataflow.designer.version>
<pamirs.eip.designer.version>5.1.2</pamirs.eip.designer.version>

完整依赖管理示例

以下列举了除了设计器相关依赖外的全部依赖管理项,其通常使用在父POM中。

<dependency>
    <groupId>pro.shushi.pamirs</groupId>
    <artifactId>pamirs-k2</artifactId>
    <version>${pamirs.k2.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs</groupId>
    <artifactId>pamirs-framework</artifactId>
    <version>${pamirs.framework.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.boot</groupId>
    <artifactId>pamirs-boot-dependencies</artifactId>
    <version>${pamirs.boot.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-core-dependencies</artifactId>
    <version>${pamirs.core.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs</groupId>
    <artifactId>pamirs-distribution</artifactId>
    <version>${pamirs.distribution.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.middleware</groupId>
    <artifactId>pamirs-middleware-dependencies</artifactId>
    <version>${pamirs.middleware.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!--metadata manager-->
<dependency>
    <groupId>pro.shushi.pamirs.metadata.manager</groupId>
    <artifactId>pamirs-metadata-manager</artifactId>
    <version>${pamirs.metadata.manager}</version>
</dependency>

<!-- designer_metadata -->
<dependency>
    <groupId>pro.shushi.pamirs.designer</groupId>
    <artifactId>pamirs-designer-metadata</artifactId>
    <version>${pamirs.designer.metadata.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!--workflow-->
<dependency>
    <groupId>pro.shushi.pamirs.workflow</groupId>
    <artifactId>pamirs-workflow</artifactId>
    <version>${pamirs.workflow.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!--workbench-->
<dependency>
    <groupId>pro.shushi.pamirs.work.bench</groupId>
    <artifactId>pamirs-work-bench</artifactId>
    <version>${pamirs.workbench.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

<!--data-vi-->
<dependency>
    <groupId>pro.shushi.pamirs.data.visualization</groupId>
    <artifactId>pamirs-data-visualization</artifactId>
    <version>${pamirs.data.visualization.version}</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

完整功能依赖示例

以下列举了除了设计器相关依赖外的全部依赖管理项,其通常使用在启动工程POM中。

<dependency>
    <groupId>pro.shushi.pamirs</groupId>
    <artifactId>a</artifactId>
</dependency>

<dependency>
    <groupId>pro.shushi.pamirs.boot</groupId>
    <artifactId>pamirs-boot-standard</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.metadata.manager</groupId>
    <artifactId>pamirs-metadata-manager</artifactId>
</dependency>

<dependency>
    <groupId>pro.shushi.pamirs.framework</groupId>
    <artifactId>pamirs-connectors-event-rocketmq</artifactId>
</dependency>
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.framework</groupId>-->
<!--    <artifactId>pamirs-connectors-event-kafka</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.framework</groupId>-->
<!--    <artifactId>pamirs-connectors-event-rabbitmq</artifactId>-->
<!--</dependency>-->

<dependency>
    <groupId>pro.shushi.pamirs.boot</groupId>
    <artifactId>pamirs-distribution-id</artifactId>
</dependency>
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.distribution</groupId>-->
<!--    <artifactId>pamirs-distribution-faas</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.distribution</groupId>-->
<!--    <artifactId>pamirs-distribution-gateway</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.distribution</groupId>-->
<!--    <artifactId>pamirs-distribution-session</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--    <groupId>pro.shushi.pamirs.distribution</groupId>-->
<!--    <artifactId>pamirs-distribution-session-cd</artifactId>-->
<!--</dependency>-->

<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-sequence</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-expression-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-core-common</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-resource-core</artifactId>
</dependency>
<!-- user -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-user-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-user-view</artifactId>
</dependency>
<!-- auth -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-auth3-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-auth3-view</artifactId>
</dependency>
<!-- auth rbac (since 5.1.14) -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-auth3-rbac-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-auth3-rbac-view</artifactId>
</dependency>
<!-- auth compatible -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-auth-compatible</artifactId>
</dependency>
<!-- business -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-business-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-business-view</artifactId>
</dependency>
<!-- management_center -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-management-center</artifactId>
</dependency>
<!-- message -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-message-core</artifactId>
</dependency>
<!-- translate -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-translate</artifactId>
</dependency>
<!-- file -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-file2-core</artifactId>
</dependency>
<!-- sql_record -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-sql-record-core</artifactId>
</dependency>
<!-- data_audit -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-data-audit-core</artifactId>
</dependency>
<!-- sys_setting -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-sys-setting-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-sys-setting-view</artifactId>
</dependency>
<!-- my_center -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-my-center-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-my-center-view</artifactId>
</dependency>
<!-- apps -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-apps-core</artifactId>
</dependency>
<!-- trigger -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-trigger-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-trigger-bridge-tbschedule</artifactId>
</dependency>
<!-- eip -->
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-eip2-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.core</groupId>
    <artifactId>pamirs-eip2-view</artifactId>
</dependency>

<!-- designer_metadata -->
<dependency>
    <groupId>pro.shushi.pamirs.designer</groupId>
    <artifactId>pamirs-designer-metadata-core</artifactId>
</dependency>

<!-- workflow -->
<dependency>
    <groupId>pro.shushi.pamirs.workflow</groupId>
    <artifactId>pamirs-workflow-core</artifactId>
</dependency>
<!-- workbench -->
<dependency>
    <groupId>pro.shushi.pamirs.work.bench</groupId>
    <artifactId>pamirs-work-bench-core</artifactId>
</dependency>
<dependency>
    <groupId>pro.shushi.pamirs.work.bench</groupId>
    <artifactId>pamirs-work-bench-view</artifactId>
</dependency>
<!-- datavi -->
<dependency>
    <groupId>pro.shushi.pamirs.data.visualization</groupId>
    <artifactId>pamirs-data-visualization-core</artifactId>
</dependency>

对应的启动模块配置如下:

pamirs:
  boot:
    modules:
      - base # 基础模块(必须)
      - sequence # 序列(非应用)
      - expression # 表达式(非应用)
      - common # 公共资源
      - resource # 资源
      - user # 用户(非应用,管理页面入口迁移到管理中心)
      - auth # 权限(非应用,管理页面入口迁移到管理中心)
      - business # 合作伙伴 (非应用,管理页面入口迁移管理中心)
      - management_center # 管理中心
      - message # 消息
      - translate # 翻译
      - file # 文件
      - sql_record # SDC(非应用)
      - data_audit # 业务审计
      - sys_setting # 系统配置
      - my_center # 个人中心
      - apps # 应用中心
      - trigger # 触发器
      - eip # 集成接口
      - designer_metadata # 应用环境(元数据在线导入导出)
      - workflow # 工作流
      - workbench # 工作台
      - datavi # 数据可视化运行(非应用)

前端依赖

Oinone平台前端使用Npm管理工具对所有依赖包进行版本管理。

PS:前端更新最新版本仅需重新npm install即可获取最新版本。

完整依赖项示例

{
  "dependencies": {
    "@kunlun/dependencies": "~5.1.0",
    "@kunlun/vue-ui-antd": "~5.1.0",
    "@kunlun/vue-ui-el": "~5.1.0",
    "@kunlun/mobile-dependencies": "~5.1.0",
    "@kunlun/vue-ui-mobile-vant": "~5.1.0",
    "@kunlun/workflow": "~5.1.0",
    "@kunlun/designer-common": "~5.1.0",
    "@kunlun/ui-designer-dependencies": "~5.1.0",
    "@kunlun/data-designer": "~5.1.0",
    "@kunlun/data-designer-core": "~5.1.0",
    "@kunlun/data-designer-open-pc": "~5.1.0"
  }
}

前后端版本说明

Oinone平台前后端版本号管理基于以下原则:(以版本号z.y.x为例)

  • z:存在重大版本更新时;一般以年为单位进行升级。
  • y:功能迭代;
  • x:一般功能迭代;Bug修复;

PS:前后端版本总是以中版本进行完全兼容的,即5.1.x表示可以使用任意版本的前后端启动服务。

Oinone社区 作者:张博昊原创文章,如若转载,请注明出处:https://doc.oinone.top/yun-wei-shi-jian/17436.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(0)
张博昊张博昊
上一篇 2024年9月18日 pm12:52
下一篇 2024年9月19日 am11:38

相关推荐

  • Oinone平台部署及依赖说明(v4.7)

    概述 名词解释 业务工程包:指平台提供的内置基础包和内置功能包。 设计器工程包:指模型设计器、界面设计器、流程设计器等相关依赖包。 父POM:仅声明依赖包版本的pom文件 启动工程POM:仅声明具体依赖包的pom文件,一般不用于指定版本。 业务工程部署 Oinone平台向合作伙伴提供前后端业务工程所需的全部依赖,依赖项的具体说明下面会分别介绍。 设计器部署 Oinone平台向合作伙伴提供了两种设计器部署方式: Docker镜像:支持amd64和arm64两种架构的操作系统。(推荐) JAR包:与Docker镜像中的内容完全一致。 使用JAR包直接启动需要使用Oinone专属启动器,Docker镜像已内置Oinone专属启动器。 PS:如遇到以上部署方式或提供的镜像无法满足部署需求时,请联系Oinone平台售后获取技术支持。 Docker镜像 体验镜像 包括所有设计器。 内置所有所需中间件,包括Mysql、Redis、Zookeeper、RocketMQ。 适用场景:用于快速体验Oinone平台全部功能 docker pull harbor.oinone.top/oinone/oinone-designer-full-v4.8:TAG 前后端一体部署镜像 包括所有设计器。 无内置中间件。 适用场景:用于便捷部署Oinone平台的前后端服务 docker pull harbor.oinone.top/oinone/oinone-designer-mini-v4.8:TAG 前后端一体部署镜像 – 流程设计器 仅包括流程设计器。 无内置中间件。 适用场景:用于便捷部署仅需流程设计器的Oinone平台的前后端服务。 docker pull harbor.oinone.top/oinone/workflow-designer-v4.8:TAG 镜像拉取 以体验镜像为例,Oinone平台提供多种拉取镜像的方式。 # 获取混合架构镜像,支持amd64和arm64架构的操作系统 docker pull harbor.oinone.top/oinone/oinone-designer-full-v4.8:4.8.19 # 仅获取amd64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v4.8:4.8.19-amd64 # 仅获取arm64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v4.8:4.8.19-arm64 # 获取最新版镜像(每次拉取自动更新) docker pull harbor.oinone.top/oinone/oinone-designer-full-v4.8 PS:如镜像拉取过慢,可在确定操作系统架构的情况下获取amd64或arm64架构镜像。 JAR包获取 $VERSION:对应镜像版本号 包含所有设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/oinone-designer/pamirs-designer-boot-v4.8-$VERSION.jar 仅包含流程设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/workflow-designer/pamirs-workflow-designer-boot-v4.8-$VERSION.jar 后端依赖 Oinone平台后端使用Maven管理工具对所有依赖包进行版本管理。 版本说明 下面是在每个版本升级说明中提供的所有依赖版本,最新版本请查看对应的最新升级说明文档。 版本更新日志 <!– 平台基础 –> <pamirs.middleware.version>4.7.8.5</pamirs.middleware.version> <pamirs.k2.version>4.7.8.7</pamirs.k2.version> <pamirs.framework.version>4.7.8.19</pamirs.framework.version> <pamirs.boot.version>4.7.8.12</pamirs.boot.version> <pamirs.distribution.version>4.7.8.5</pamirs.distribution.version> <!– 平台功能 –> <pamirs.metadata.manager>4.7.8</pamirs.metadata.manager> <pamirs.core.version>4.7.8.19</pamirs.core.version> <pamirs.workflow.version>4.7.8.16</pamirs.workflow.version> <pamirs.workbench.version>4.7.8</pamirs.workbench.version> <pamirs.data.visualization.version>4.7.8.1</pamirs.data.visualization.version> <!– 设计器 –> <pamirs.designer.common.version>4.7.8</pamirs.designer.common.version> <pamirs.flow.designer.base.version>4.7.8.1</pamirs.flow.designer.base.version> <pamirs.workflow.designer.version>4.7.8</pamirs.workflow.designer.version> <pamirs.model.designer.version>4.7.8</pamirs.model.designer.version> <pamirs.ui.designer.version>4.7.8.9</pamirs.ui.designer.version> <pamirs.data.designer.version>4.7.8</pamirs.data.designer.version> <pamirs.dataflow.designer.version>4.7.8.1</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>4.7.8.1</pamirs.eip.designer.version> 完整依赖管理示例 以下列举了除了设计器相关依赖外的全部依赖管理项,其通常使用在父POM中。 <dependency> <groupId>pro.shushi.pamirs</groupId> <artifactId>pamirs-k2</artifactId> <version>${pamirs.k2.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>pro.shushi.pamirs</groupId> <artifactId>pamirs-framework</artifactId> <version>${pamirs.framework.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>pro.shushi.pamirs.boot</groupId> <artifactId>pamirs-boot-dependencies</artifactId> <version>${pamirs.boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>pro.shushi.pamirs.core</groupId> <artifactId>pamirs-core-dependencies</artifactId> <version>${pamirs.core.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>pro.shushi.pamirs</groupId> <artifactId>pamirs-distribution</artifactId> <version>${pamirs.distribution.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>pro.shushi.pamirs.middleware</groupId> <artifactId>pamirs-middleware-dependencies</artifactId> <version>${pamirs.middleware.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!–metadata manager–> <dependency> <groupId>pro.shushi.pamirs.metadata.manager</groupId> <artifactId>pamirs-metadata-manager</artifactId> <version>${pamirs.metadata.manager}</version> </dependency> <!–workflow–> <dependency> <groupId>pro.shushi.pamirs.workflow</groupId> <artifactId>pamirs-workflow</artifactId> <version>${pamirs.workflow.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!–workbench–> <dependency> <groupId>pro.shushi.pamirs.work.bench</groupId> <artifactId>pamirs-work-bench</artifactId> <version>${pamirs.workbench.version}</version> <type>pom</type> <scope>import</scope> </dependency> <!–data-vi–> <dependency> <groupId>pro.shushi.pamirs.data.visualization</groupId> <artifactId>pamirs-data-visualization</artifactId> <version>${pamirs.data.visualization.version}</version> <type>pom</type> <scope>import</scope> </dependency> 完整功能依赖示例 以下列举了除了设计器相关依赖外的全部依赖管理项,其通常使用在启动工程POM中。 <dependency> <groupId>pro.shushi.pamirs</groupId> <artifactId>a</artifactId> </dependency>…

    2024年9月3日
    00
  • Maven包拉取:拉取Oinone包的配置

    1、方式一,配置数式仓库代理 创建一个proxy类型的仓库 点击"Repository"–>“Repositories”–>“Create repository”,选择maven2(proxy)。 Name:要代理的数式的maven,自定义maven-proxy-shushi-release Online:勾选,设置成在线 ProxyRemote storage:设置远程数式仓库的地址。这里设置成数式的maven仓库地址:http://nexus.shushi.pro/repository/pamirs-releases/ 认证方式:Authentication,填写数式提供的用户名和密码; 其他的保持默认即可 用同样的方式,把数式snapshots(http://nexus.shushi.pro/repository/pamirs-snapshots/) 2、方式二,Settings融合 在Maven的配置文件中(settings.xml),增加数式的仓库配置: <!– oinone –> <server> <id>oinone-develop-release</id> <username>数式提供的账号</username> <password>数式提供的密码</password> </server> <server> <id>oinone-develop-snapshot</id> <username>数式提供的账号</username> <password>数式提供的密码</password> </server> <!– oinone –> <repository> <id>oinone-develop-release</id> <name>Repository for pamirs releases</name> <url>http://nexus.shushi.pro/repository/pamirs-releases/</url> <releases> <enabled>true</enabled> <!– <updatePolicy>always</updatePolicy> –> </releases> <snapshots> <enabled>false</enabled> </snapshots> <layout>default</layout> </repository> <repository> <id>oinone-develop-snapshot</id> <name>Repository for pamirs snapshots</name> <url>http://nexus.shushi.pro/repository/pamirs-snapshots/</url> <snapshots> <enabled>true</enabled> </snapshots> <layout>default</layout> </repository>

    2024年2月20日
    00
  • Oinone平台部署及依赖说明(v5.3)

    概述 名词解释 业务工程包:指平台提供的内置基础包和内置功能包。 设计器工程包:指模型设计器、界面设计器、流程设计器等相关依赖包。 父POM:仅声明依赖包版本的pom文件 启动工程POM:仅声明具体依赖包的pom文件,一般不用于指定版本。 业务工程部署 Oinone平台向合作伙伴提供前后端业务工程所需的全部依赖,依赖项的具体说明下面会分别介绍。 设计器部署 Oinone平台向合作伙伴提供了两种设计器部署方式: Docker镜像:支持amd64和arm64两种架构的操作系统。(推荐) JAR包:与Docker镜像中的内容完全一致。 使用JAR包直接启动需要使用Oinone专属启动器,Docker镜像已内置Oinone专属启动器。 PS:如遇到以上部署方式或提供的镜像无法满足部署需求时,请联系Oinone平台售后获取技术支持。 Docker镜像 体验镜像 包括所有设计器。 内置所有所需中间件,包括Mysql、Redis、Zookeeper、RocketMQ。 适用场景:用于快速体验Oinone平台全部功能 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.3:TAG 前后端一体部署镜像 包括所有设计器。 无内置中间件。 适用场景:用于便捷部署Oinone平台的前后端服务 docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.3:TAG 前后端一体部署镜像 – 流程设计器 仅包括流程设计器。 无内置中间件。 适用场景:用于便捷部署仅需流程设计器的Oinone平台的前后端服务。 docker pull harbor.oinone.top/oinone/workflow-designer-v5.3:TAG 后端部署镜像 用于前后端分别部署,包括所有设计器。 仅包含后端服务 无内置中间件 适用场景:Kubenetes部署;支持健康检查,前后端分离部署; docker pull harbor.oinone.top/oinone/designer-backend-v5.3:TAG 前端部署镜像 用于前后端分别部署,包括所有设计器。 仅包含前端服务 无内置中间件 适用场景:Kubenetes部署;支持健康检查,前后端分离部署; docker pull harbor.oinone.top/oinone/designer-frontend-v5.3:TAG 镜像拉取 以体验镜像为例,Oinone平台提供多种拉取镜像的方式。 # 获取混合架构镜像,支持amd64和arm64架构的操作系统 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.3:5.3.5 # 仅获取amd64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.3:5.3.5-amd64 # 仅获取arm64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.3:5.3.5-arm64 # 获取最新版镜像(每次拉取自动更新) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.3 PS:如镜像拉取过慢,可在确定操作系统架构的情况下获取amd64或arm64架构镜像。 JAR包获取 $VERSION:对应镜像版本号 包含所有设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/oinone-designer/pamirs-designer-boot-v5.3-$VERSION.jar 仅包含流程设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/workflow-designer/pamirs-workflow-designer-boot-v5.3-$VERSION.jar 后端依赖 Oinone平台后端使用Maven管理工具对所有依赖包进行版本管理。 版本说明 下面是在每个版本升级说明中提供的所有依赖版本,最新版本请查看对应的最新升级说明文档。 版本更新日志 <!– 平台基础 –> <oinone.version>5.3.5</oinone.version> <!– 设计器 –> <pamirs.workflow.designer.version>5.3.0</pamirs.workflow.designer.version> <pamirs.model.designer.version>5.3.2</pamirs.model.designer.version> <pamirs.ui.designer.version>5.3.3</pamirs.ui.designer.version> <pamirs.data.designer.version>5.3.0</pamirs.data.designer.version> <pamirs.dataflow.designer.version>5.3.0</pamirs.dataflow.designer.version> <pamirs.eip.designer.version>5.3.0</pamirs.eip.designer.version> <pamirs.microflow.designer.version>5.3.0</pamirs.microflow.designer.version> 依赖版本管理 为了方便合作伙伴更方便的对平台版本进行管理,平台提供了一体化的依赖管理依赖包oinone-bom。 <dependencyManagement> <dependencies> <dependency> <groupId>pro.shushi</groupId> <artifactId>oinone-bom</artifactId> <version>${oinone.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> 完整功能依赖示例 以下列举了除了设计器相关依赖外的全部依赖管理项,其通常使用在启动工程POM中。 <dependency> <groupId>pro.shushi.pamirs</groupId> <artifactId>a</artifactId> </dependency> <dependency> <groupId>pro.shushi.pamirs.boot</groupId> <artifactId>pamirs-boot-standard</artifactId> </dependency> <dependency> <groupId>pro.shushi.pamirs.metadata.manager</groupId> <artifactId>pamirs-metadata-manager</artifactId> </dependency> <dependency> <groupId>pro.shushi.pamirs.framework</groupId> <artifactId>pamirs-connectors-event-rocketmq</artifactId> </dependency> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.framework</groupId>–> <!– <artifactId>pamirs-connectors-event-kafka</artifactId>–> <!–</dependency>–> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.framework</groupId>–> <!– <artifactId>pamirs-connectors-event-rabbitmq</artifactId>–> <!–</dependency>–> <dependency> <groupId>pro.shushi.pamirs.boot</groupId> <artifactId>pamirs-distribution-id</artifactId> </dependency> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.distribution</groupId>–> <!– <artifactId>pamirs-distribution-faas</artifactId>–> <!–</dependency>–> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.distribution</groupId>–> <!– <artifactId>pamirs-distribution-gateway</artifactId>–> <!–</dependency>–> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.distribution</groupId>–> <!– <artifactId>pamirs-distribution-session</artifactId>–> <!–</dependency>–> <!–<dependency>–> <!– <groupId>pro.shushi.pamirs.distribution</groupId>–> <!– <artifactId>pamirs-distribution-session-cd</artifactId>–> <!–</dependency>–> <dependency> <groupId>pro.shushi.pamirs.core</groupId> <artifactId>pamirs-sequence</artifactId> </dependency> <dependency> <groupId>pro.shushi.pamirs.core</groupId> <artifactId>pamirs-expression-core</artifactId>…

    2025年1月8日
    00
  • Docker部署常见问题

    问题1:容器启动出现library initialization failed – unable to allocate file descriptor table – out of memory异常如何处理? 原因 不同操作系统安装Docker后,容器运行环境并不一致,需要对Docker运行参数进行调整。 解决方案 编辑/etc/systemd/system/docker.service文件, 有些系统该文件位置:/lib/systemd/system/docker.service 查看docker的systemd(docker.service)配置位置 systemctl status docker 查看docker的systemd配置位置 将下列参数进行修改 LimitNOFILE=65535 LimitNPROC=65535 LimitCORE=65535 执行以下脚本 systemctl daemon-reload systemctl restart docker 问题2:容器启动出现library initialization failed – unable to allocate file descriptor table – out of memorypanic: signal: aborted (core dumped)异常如何处理? 问题现象 1、 按照【问题1】的设置进行配置后,仍然不生效; 2、 尝试修改宿主机系统内核的ulimits,重启docker仍报错。修改docker.service(文件位置:/etc/systemd/system/docker.service文件, 有些系统该文件位置:/lib/systemd/system/docker.service) 解决方案 查看docker的systemd(docker.service)配置位置【问题1】中的办法 在ExecStart命令后加上创建容器的默认ulimit配置,如下,设置容器启动时的ulimit为65535:65535: –default-ulimit nofile=65535:6553 配置好后: ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock –default-ulimit nofile=65535:65535 执行以下脚本 systemctl daemon-reload systemctl restart docker 资料参考:https://blog.csdn.net/weixin_42241322/article/details/137122868 问题3:拉取设计器镜像报错 报错信息,拉取镜像harbor.oinone.top连不上。 docker login –username=schhsw_oinone harbor.oinone.top i Info → A Personal Access Token (PAT) can be used instead. To create a PAT, visit https://app.docker.com/settings Password: time="2025-02-27T11:24:58+08:00" level=info msg="Error logging in to endpoint, trying next endpoint" error="Get \"https://harbor.oinone.top/v2/\": dial tcp 0.0.0.0:443: connect: connection refused" Get "https://harbor.oinone.top/v2/": dial tcp 0.0.0.0:443: connect: connection refused kfpt@kfpt-virtual-machine:~$ sudo -i root@kfpt-virtual-machine:~# docker login –username=schhsw_oinone harbor.oinone.top i Info → A Personal Access Token (PAT) can be used instead. To create a PAT, visit https://app.docker.com/settings Password: Error response from daemon: Get "https://harbor.oinone.top/v2/": dial tcp 0.0.0.0:443: connect: connection refused 排查过程: 排除到后面发现原因是DNS配置的问题,换了一个阿里云的IP就可以了

    2025年3月13日
    00
  • Oinone平台部署及依赖说明(v5.0)

    概述 名词解释 业务工程包:指平台提供的内置基础包和内置功能包。 设计器工程包:指模型设计器、界面设计器、流程设计器等相关依赖包。 父POM:仅声明依赖包版本的pom文件 启动工程POM:仅声明具体依赖包的pom文件,一般不用于指定版本。 业务工程部署 Oinone平台向合作伙伴提供前后端业务工程所需的全部依赖,依赖项的具体说明下面会分别介绍。 设计器部署 Oinone平台向合作伙伴提供了两种设计器部署方式: Docker镜像:支持amd64和arm64两种架构的操作系统。(推荐) JAR包:与Docker镜像中的内容完全一致。 使用JAR包直接启动需要使用Oinone专属启动器,Docker镜像已内置Oinone专属启动器。 PS:如遇到以上部署方式或提供的镜像无法满足部署需求时,请联系Oinone平台售后获取技术支持。 Docker镜像 体验镜像 包括所有设计器。 内置所有所需中间件,包括Mysql、Redis、Zookeeper、RocketMQ。 适用场景:用于快速体验Oinone平台全部功能 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:TAG 前后端一体部署镜像 包括所有设计器。 无内置中间件。 适用场景:用于便捷部署Oinone平台的前后端服务 docker pull harbor.oinone.top/oinone/oinone-designer-mini-v5.0:TAG 前后端一体部署镜像 – 流程设计器 仅包括流程设计器。 无内置中间件。 适用场景:用于便捷部署仅需流程设计器的Oinone平台的前后端服务。 docker pull harbor.oinone.top/oinone/workflow-designer-v5.0:TAG 后端部署镜像 用于前后端分别部署,包括所有设计器。 仅包含后端服务 无内置中间件 适用场景:Kubenetes部署;支持健康检查,前后端分离部署; docker pull harbor.oinone.top/oinone/designer-backend-v5.0:TAG 前端部署镜像 用于前后端分别部署,包括所有设计器。 仅包含前端服务 无内置中间件 适用场景:Kubenetes部署;支持健康检查,前后端分离部署; docker pull harbor.oinone.top/oinone/designer-frontend-v5.0:TAG 镜像拉取 以体验镜像为例,Oinone平台提供多种拉取镜像的方式。 # 获取混合架构镜像,支持amd64和arm64架构的操作系统 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.3.3 # 仅获取amd64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.3.3-amd64 # 仅获取arm64架构镜像 docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0:5.0.3.3-arm64 # 获取最新版镜像(每次拉取自动更新) docker pull harbor.oinone.top/oinone/oinone-designer-full-v5.0 PS:如镜像拉取过慢,可在确定操作系统架构的情况下获取amd64或arm64架构镜像。 JAR包获取 $VERSION:对应镜像版本号 包含所有设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/oinone-designer/pamirs-designer-boot-v5.0-$VERSION.jar 仅包含流程设计器的后端JAR包下载路径示例 https://oinone-jar.oss-cn-zhangjiakou.aliyuncs.com/install/workflow-designer/pamirs-workflow-designer-boot-v5.0-$VERSION.jar Kubernetes后端部署健康检查 准备健康检查脚本 将以下脚本放置在镜像中。/opt/pamirs/bin/healthCheck.sh为以下示例中所用脚本路径。(平台提供的设计器镜像有内置该脚本,并与示例路径一致) #!/usr/bin/env bash function sendDingTalkMessage() { url=$DING_TALK_ROBOT_URL if [ -z $url ]; then return -1 fi message=$DING_TALK_ROBOT_MESSAGE if [ -z $message ]; then return -1 fi message="$message\\nby kubernetes" isAtAll=$DING_TALK_ROBOT_IS_AT_ALL if [ $isAtAll ]; then isAtAll="true" message="$message\\n" else isAtAll="false" fi message="{\"msgtype\": \"text\",\"text\": {\"content\":\"$message\"}, \"isAtAll\": \"${isAtAll}\"}" curl "${url}" -H 'Content-Type: application/json' -d "${message}" } port=$1 callback=$2 OK=$(curl -s http://127.0.0.1:${port}/ruok) if [ "$OK" == "imok" ]; then if [ -n $callback ]; then $callback fi exit 0 else exit 1 fi 配置Kubernetes健康检查 kind: Deployment apiVersion: apps/v1 spec: template: spec: containers: – name: designer-backend env: – name: DING_TALK_ROBOT_URL #…

    2024年6月21日
    00

Leave a Reply

登录后才能评论