流程设计器部署注意事项

准备部署环境所需数据

导出开发/测试环境用到的设计器的的元数据json、设计器业务数据json、自定义组件json
在业务工程中准备安装代码

  • 安装元数据json
  • 安装设计器业务数据json
  • 安装自定义组件json

【重要】上线后业务工程中安装工作流元数据和流程设计器数据的代码注释掉,防止已经设置过的流程被重写覆盖

参考文档

确认生产的项目证书和设计器证书已经获取到并配置正确

证书配置方式
  • 通过yml配置
    logging:
    level:
      # schedule日志过滤,减少不必要的日志
      com.taobao.pamirs.schedule.taskmanager.TBScheduleManagerStatic: error
    pamirs:
    license:
      #改成平台提供证书的路径以及subject
      subject: xxxx
        path:
          - licence/xxxx_boot.lic
  • java -jar通过启动参数配置-Dsubject=xxx -Dlicense=/aaa/bb/c.lic
    参考文档
  • pamirs-license 许可证使用常见问题

yml配置

  • 【重要】流程设计器和项目基础环境必须一致, 包括(redis、数据库)。其中数据库的配置要求,相同模块指向的数据源必须相同,通过ds-map指定
  • 【重要】zk的rootPath 、mq的topic-prefix、schdule的ownSign 配置跟业务工程保持不一致【影响流程发布后重复触发】
  • 【重要】流程设计器若和项目部署在同一台机器上,则 工作流和项目的sql_record的配置(pamirs.record.sql.store)必须分开,否则可能导致工作流任务重复。
spring:
  rocketmq:
    name-server: 127.0.0.1:9876
    #ACL配置
    #accesskey: xxxx
    #secretkey: xxx
pamirs:
  zookeeper:
    zkConnectString: 127.0.0.1:2181
    zkSessionTimeout: 60000
    rootPath: /my_zk
  event:
    notify-map:
      system: ROCKETMQ
      biz: ROCKETMQ
      logger: ROCKETMQ
    enabled: true
    schedule:
      enabled: true
      ownSign: my_own_sign
  • ds-map确认,设计器内公共业务模块和业务工程的业务模块的ds-key需要一致,实际的数据源也需要一致
  • 确认业务工程和设计器的配置项pamirs:record:sql:store的值,2个配置文件里的值需要是不一样的
    pamirs:
    record:
      sql:
        store: /aaa/bbb

    部署方式确认

    Jar包部署方式

  • 前端引入相关依赖
    业务工程的前端需要依赖流程设计器
    前端package.json新增依赖"@kunlun/workflow-designer": "~4.7.0"
    在main.ts的VueOioProvider()方法执行前导入依赖
import '@kunlun/workflow-designer/dist/kunlun-workflow-designer.css';
import '@kunlun/workflow-designer';

VueOioProvider(
  {
    dependencies: {
      vue: import('vue'),
      lodashEs: import('lodash-es'),
      antDesignVue: import('ant-design-vue'),
      antDesignIconsVue: import('@ant-design/icons-vue'),
      elementPlusIconsVue: import('@element-plus/icons-vue'),
      elementPlus: import('element-plus'),
      kunlunDependencies: import('@kunlun/dependencies'),
      kunlunVueUiAntd: import('@kunlun/vue-ui-antd'),
      kunlunVueUiEl: import('@kunlun/vue-ui-el'),
      antvDataSet: import('@antv/data-set'),
      antvG2: import('@antv/g2'),
      echarts: import('echarts')
    }
  }
);

docker镜像部署方式

线上允许部署流程设计器镜像,直接通过镜像运行后容器的id+端口访问设计器

部署完成后,已设计的流程需要重新选择的地方

  • 触发字段
  • 所有自定义函数
  • 审批人/转交人,模型相关选的字段

检查工作流触发是否正常

Oinone社区 作者:nation原创文章,如若转载,请注明出处:https://doc.oinone.top/install/12130.html

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

(0)
nation的头像nation数式员工
上一篇 2024年5月28日 am10:46
下一篇 2024年5月28日 pm8:26

相关推荐

  • RocketMQ如何配置日志路径和日志自动清理规则

    RocketMQ的日志路径和日志自动清理规则可以通过以下方式进行配置: 配置日志路径 对于RocketMQ客户端: RocketMQ客户端日志默认存储在系统盘的特定位置,但你可以通过JVM启动参数来修改日志的输出路径。例如,在启动Java应用时,可以通过 -Dlogging.path 或 -Drocketmq.client.logRoot 参数指定日志根目录。例如: java -Drocketmq.client.logRoot=/path/to/your/log/directory -jar your_application.jar 对于RocketMQ服务端(Broker和NameServer): RocketMQ服务端的日志路径通常在 conf/logback_broker.xml(对于Broker)和 conf/logback_namesrv.xml(对于NameServer)配置文件中定义。你可以在这些XML配置文件中修改 <property name="LOG_HOME"> 的值来改变日志存储路径。 配置日志自动清理规则 RocketMQ服务端提供了日志滚动策略来自动清理旧日志,这通常在上述提到的 logback_broker.xml 和 logback_namesrv.xml 文件中通过Logback的RollingPolicy配置实现。例如,可以配置文件大小限制、保留文件数量等: <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/rocketmq.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!– 按天滚动日志文件 –> <fileNamePattern>${LOG_HOME}/archived/rocketmq.%d{yyyy-MM-dd}.%i.log</fileNamePattern> <!– 保留最多30天的日志 –> <maxHistory>30</maxHistory> <!– 单个日志文件最大大小,默认RocketMQ不直接支持配置此参数,但可通过Logback的SizeAndTimeBasedFNATP配置间接控制 –> <!–<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">–> <!–<maxFileSize>100MB</maxFileSize>–> <!–</timeBasedFileNamingAndTriggeringPolicy>–> </rollingPolicy> … </appender> 请注意,虽然RocketMQ客户端日志默认不直接支持配置单个日志文件大小,但你可以通过外部日志框架(如Logback或Log4j)的配置来间接影响日志文件的大小管理。 对于日志清理,RocketMQ本身对于消息存储的文件有自动清理机制,但针对日志文件的自动清理主要依赖于日志框架的配置,如上述Logback的配置示例所示。 确保在修改任何配置前备份原有的配置文件,并且理解修改可能对系统监控和故障排查造成的影响。

    2024年5月28日
    3.9K00
  • 后端无代码设计器Jar包启动方法

    下载Oinone专属启动器 oinone-boot-starter.zip Mac OS平台启动 # 直接运行 ./darwin-boot java -jar ./pamirs-designer-boot-4.7.0.jar # nohup后台运行 nohup ./darwin-boot java -jar ./pamirs-designer-boot-4.7.0.jar > out.log 2>&1 & Mac OS(arm64架构)平台启动 # 直接运行 ./darwin-boot-arm64 java -jar ./pamirs-designer-boot-4.7.0.jar # nohup后台运行 nohup ./darwin-boot-arm64 java -jar ./pamirs-designer-boot-4.7.0.jar > out.log 2>&1 & Linux平台启动 # 直接运行 ./linux-boot java -jar ./pamirs-designer-boot-4.7.0.jar # nohup后台运行 nohup ./linux-boot java -jar ./pamirs-designer-boot-4.7.0.jar > out.log 2>&1 & Linux(arm64架构)平台启动 # 直接运行 ./linux-boot-arm64 java -jar ./pamirs-designer-boot-4.7.0.jar # nohup后台运行 nohup ./linux-boot-arm64 java -jar ./pamirs-designer-boot-4.7.0.jar > out.log 2>&1 & Windows平台启动 .\win-boot.exe java -jar .\pamirs-designer-boot-4.7.0.jar 说明 上述命令使用的java -jar与常规使用方式完全相同。 Oinone无代码设计器不支持使用javaagent参数。 常用启动脚本 #!/bin/bash # 脚本所在目录 home=$(cd "$(dirname "$0")" && pwd) # 启动jar路径 jarPath=$home/pamirs-designer-boot-4.7.0.jar # 配置路径 applicationPath=$home/application.yml # 许可证信息 subject= licensePath= nohup $home/linux-boot java -Duser.timezone=GMT+08:00 -Dhttps.protocols=TLSv1.2 -Dfile.encoding=UTF-8 \ -jar $jarPath \ –spring.config.location=$applicationPath \ -Psubject=$subject \ -Plicense=$licensePath \ -Plifecycle=INSTALL > $home/out.log 2>&1 & sleep 1 tail -200f $home/out.log 出现cannot execute binary file异常该如何处理? 问题原因 Oinone专属启动器是通过go语言进行编译并执行,对于不同的操作系统架构需要分别编译。 解决方案 物理机安装go语言环境。 下载boot.go文件,放在run目录下。(需询问Oinone客服获取最新boot.go文件) 进入run目录,执行go build -o "boot-starter" "boot.go"命令。 在startup.sh命令中添加-v $home/run/boot-starter:/opt/pamirs/run/boot-starter \将文件挂载到容器。 删除docker容器后再执行startup.sh脚本重启镜像即可。 出现failed to open elf at /lib64/ld-linux-x86-64.so.2异常该如何处理? 问题原因 部分arm64架构的宿主机无法兼容amd64环境中编译的linux-boot启动器,需要将启动器换为linux-boot-arm64。 解决方案 下载oinone-boot-starter.zip并解压,获取linux-boot-arm64启动器。 将启动器放在run目录下。 在startup.sh命令中添加-v $home/run/linux-boot-arm64:/opt/pamirs/run/boot-starter替换镜像中的启动器。 删除docker容器后再执行startup.sh脚本重启镜像即可。

    2024年5月17日
    1.6K00
  • 数据源配置使用注意事项

    启动工程的application.yml内可以通过ds-map为每个模块配置数据源,未在ds-map指定的会根据default-ds-key的值设置默认的数据源, 1. 共一套base库的所有启动工程,相同模块的dsKey名称一定要是一样的 2. 如果有需求2个启动工程中对同一个模块要区分库,如:2个启动工程的“用户user模块”读不同的库,那么需要将配置中“用户user模块”的dsKey配置一致,然后在各自启动工程配置中的数据库链接地址填不一样

    2024年7月25日
    2.0K00
  • 如何解决界面设计器保存提示:元数据不存在或已删除

    现象 界面设计器设计页面的时候,从左侧边栏模型下拖入了一个字段到页面,保存的时候提示:元数据不存在或已删除 原因 共base库不共元数据缓存redis导致的,不共redis的情况下,每次本地新增或修改元数据(如:字段、方法)启动后会同步本地redis,再去线上启动的时候,由于元数据已经在本地写入到了base库,所以该次启动不会触发redis差量更新 解决方案 通过将boot工程application.yml以下配置,让redis全量刷新元数据缓存 pamirs: distribution: session: allMetaRefresh: true 扩展 这个方法只能解决新增或修改元数据,如果出现了删除元数据的话,改为true也不行,清空或者手动删除问题redis的key都可以

    2024年7月21日
    1.2K00
  • nginx如何配置后端服务的负载均衡

    要在Nginx中实现对同一套服务部署两遍并且按比例分配请求,你可以利用Nginx的负载均衡功能。具体做法如下: 步骤 1: 配置 upstream 首先,在Nginx的配置文件(通常是/etc/nginx/nginx.conf或/etc/nginx/sites-available/default,具体路径可能因系统而异)中定义一个upstream块,列出你的两个服务实例。这里假设你的两个服务实例运行在相同的主机上,但监听不同的端口,例如8080和8081。 http { upstream backend { server 192.168.1.100:8091 weight=1; server 192.168.1.101:8091 weight=1; } # … } 在这个例子中,weight=1表示两个服务实例具有相同的权重,Nginx会尽量以1:1的比例分配请求给这两个实例。 步骤 2: 配置 location 或 server 块 接着,在配置文件中找到或添加一个server块,然后在其中的location指令内指定使用刚刚定义的upstream。 server { listen 80; server_name your.domain.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 这里的proxy_pass http://backend;告诉Nginx将请求转发到名为backend的upstream定义的服务器列表中。 步骤 3: 重启Nginx 最后,保存配置文件并重启Nginx以使更改生效。 sudo nginx -t # 先测试配置是否正确 sudo systemctl restart nginx # 或者 service nginx restart,取决于你的系统 注意事项 确保你的两个服务实例是完全独立且状态同步的,以避免数据不一致或服务故障。 使用weight参数可以调整分配策略,如果你想改变分配比例,可以通过修改weight值来实现。 考虑到高可用性,还可以配置max_fails和fail_timeout等参数来处理失败的后端连接。

    2024年6月5日
    1.4K00

Leave a Reply

登录后才能评论