Skip to content
本页目录

低代码平台部署步骤

docker-compose 部署
version: "3.7"
services:
  nginx:
    restart: always
    image: 192.168.1.10:5000/tangram/foa5-nginx:1.1.0-SNAPSHOT
    ports:
      - "6400:80"
    volumes:
      - /usr/local/foa5:/usr/local/foa5
      - /usr/local/foa5/nginx/nginx.conf:/etc/nginx/nginx.conf
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/api/admin/platform/tenant-info/getConfig"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 500M

  gateway:
    restart: always
    image: 192.168.1.10:5000/tangram/foa-cloud-gateway:5.4.0-SNAPSHOT
    environment:
      SPRING_PROFILES_ACTIVE: docker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 1024M

  admin:
    restart: always
    image: 192.168.1.10:5000/tangram/foa-cloud-admin:5.4.0-SNAPSHOT
    volumes:
      - /usr/local/foa5-test/file:/usr/local/foa5/file
      - /usr/local/foa5-test/apps:/usr/local/foa5/apps
    environment:
      SPRING_PROFILES_ACTIVE: docker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 2048M

  auth:
    restart: always
    image: 192.168.1.10:5000/tangram/foa-cloud-auth:5.4.0-SNAPSHOT
    environment:
      SPRING_PROFILES_ACTIVE: docker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 1024M

  config:
    restart: always
    volumes:
      - /usr/local/foa5-test/config:/usr/local/foa5/config
    image: 192.168.1.10:5000/tangram/foa-cloud-config:5.4.0-SNAPSHOT
    environment:
      SPRING_PROFILES_ACTIVE: docker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 1024M

  file:
    restart: always
    image: 192.168.1.10:5000/tangram/foa-cloud-file:5.4.0-SNAPSHOT
    volumes:
      - /usr/local/foa5-test/file:/usr/local/foa5/file
    environment:
      SPRING_PROFILES_ACTIVE: docker
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
      interval: 30s
      timeout: 5s
      retries: 3
      start_period: 30s
    deploy:
      resources:
        limits:
          memory: 1024M

  nacos:
    restart: always
    image: nacos/nacos-server:2.0.3
    environment:
      MODE: standalone
      PREFER_HOST_MODE: hostname
    deploy:
      resources:
        limits:
          memory: 1200M

  redis:
    restart: always
    image: redis:6.2.6-alpine3.15
    deploy:
      resources:
        limits:
          memory: 500M

  rabbitmq:
    restart: always
    image: byteflair/rabbitmq-stomp:latest
    environment:
      RABBITMQ_DEFAULT_USER: user
      RABBITMQ_DEFAULT_PASS: password
    deploy:
      resources:
        limits:
          memory: 800M
后端部署
 低代码平台目前所需要部署的后台服务有:gateway、auth、admin、file、config、serviceEngin
环境变量描述默认值是否必须
FOA5_DATASOURCE_DRIVER数据源驱动类名com.aliyun.polardb.Driver
FOA5_DATASOURCE_URL数据源urljdbc:polardb://host:ip/database?currentSchema=public&stringtype=unspecified
FOA5_DATASOURCE_USERNAME数据源用户名
FOA5_DATASOURCE_PASSWORD数据源密码
FOA5_DATASOURCE_DBTYPE数据源类型postgresql
FOA5_REDIS_HOSTredis地址redis
FOA5_REDIS_PORTredis端口6379
FOA5_REDIS_DATABASEredis数据库10
FOA5_RABBITMQ_HOSTrabbitmq地址rabbitmq
FOA5_RABBITMQ_PORTrabbitmq端口5672
FOA5_RABBITMQ_USERNAMErabbitmq用户名user
FOA5_RABBITMQ_PASSWORDrabbitmq密码password
FOA5_NACOS_SERVER_ADDR注册nacos地址nacos
FOA5_NACOS_SERVER服务注册nacos名称
  • gateway 项目网关

  • auth 认证服务,提供各种方式的认证服务

环境变量描述默认值是否必须
FOA5_DINGTALK_GATEWAYdingtalk服务地址http://dingtalk
USER_DEFAULT_PASSWORD用于判断用户是否是默认密码,提醒用户修改密码123456,Czdn_123
  • admin 基础模块管理平台
环境变量描述默认值是否必须
FOA5_DEFAULT_PASSWORD新建用户的默认密码Zktx%13579
FOA5_APP_UPLOADOSS上架app时是否传输到ossfalse
FOA5_DINGTALK_GATEWAYdingtalk服务地址http://dingtalk
FOA5_RES_OSS_ENDPOINT资源文件上传oss的endpoint
FOA5_RES_OSS_ACCESSID资源文件上传oss的accessId
FOA5_RES_OSS_ACCESSKEY资源文件上传oss的accessKey
FOA5_RES_OSS_BUCKET资源文件上传oss的bucket
  • file 文件管理服务
环境变量描述默认值是否必须
FOA5_BASE_PATH使用本地存储时存储地址
FOA5_OSS_ENDPOINToss服务endpoint
FOA5_OSS_ACCESSIDoss服务accessId
FOA5_OSS_ACCESSKEYoss服务accessKey
FOA5_OSS_BUCKEToss服务bucket
FOA5_OSS_DEFAULTDIRoss服务默认上传文件夹
FOA5_OSS_CALLBACKURL文件上传回调地址,注意要用外网可访问的地址,需要使用网关转发(即配置网关地址)
FOA5_OSS_DOWNLOADURL文件下载地址,用于前端文件预览
  • config 配置服务
环境变量描述默认值是否必须
FOA5_GIT_URL配置git地址
FOA5_GIT_USERNAME配置git用户名
FOA5_GIT_PASSWORD配置git密码
FOA5_GIT_ROOTTOKEN配置git rootToken
FOA5_GIT_REGULARTOKEN配置git regularToken
FOA5_GIT_DEFAULTNAMESPACEID配置git defaultNamespaceId
FOA5_GIT_GROUP配置git group
FOA5_GIT_BASEPATH配置git 本地目录
FOA5_OSS_DEFAULTDIRoss默认文件夹,与file配置相同
  • serviceEngin 服务引擎

前端部署

需要部署前台镜像 foa5-nginx:

  • dist 前台打包html

  • njs oss转发验证js

oss环境下从前台访问oss资源需要配置,修改accessKeyId、accessKeySecret、bucket

  • nginx.conf 前台nginx配置文件

增加 location,设置nginx转发到oss路径,需要使用 bucket.endpoint 地址 例如:

location /apps/ {               
            proxy_pass https://foa5-oss.oss-cn-hangzhou-zjzwy01-d01-a.cloud-inner.zj.gov.cn/apps/;
            # 设置反向代理时请求header, 也是本方案核心内容
            # $ossDate, $ossAuth 变量名需和nginx.conf文件内变量名一致
            proxy_set_header Date $ossDate;
            proxy_set_header Authorization $ossAuth;
	}

公共服务
  • nacos 注册中心

必须先于服务启动,如果服务没有配置健康检查且nacos启动晚于服务,可能导致服务启动连接nacos报错,启动失败

  • redis

集群docker环境下必须,auth的用户授权存储在redis中;serviceEngin应用上架后的接口数据会缓存

  • rabbitmq

非必须,与mq服务搭配使用


数据库还原
  • 使用pgadmin还原数据库文件

需要安装edb和pgadmin,在pgadmin中设置二进制路径,选择edb的bin目录;注意pgadmin导入导出必须在Schema层,在database上可能会因为权限问题失败

内部资料,请勿外传