前端如何使用Docker部署Oinone

75 阅读2分钟

前端如何使用Docker部署Oinone

1.什么是Oinone

数式Oinone是一款企业级产品化引擎:用低代码驱动标准化研发与敏捷交付的一体化平台。

[官网地址​]  www.oinone.top/ 

2.基础介绍

2.1 ss-front-modules中工程分层说明

ss-boot: 不做业务研发,只做包的组装和依赖

ss-oinone: 与Oinone结合层,这个工程结构可以把数式Oinone的改造收口,也是业务工程依赖的核心层

ss-admin-widget: 与界面设计器无代码的结合工程,在这个工程结构里可以把组件放在无代码平台上使用

ss-project: 模拟的项目工程,做某个项目的个性化开发

2.2 lerna

Lerna 是一个用于管理包含多个包(package)的 JavaScript 项目的工具。它帮助开发者处理多包仓库(monorepo)的工作流,简化了包之间的版本管理和发布流程

2.3 快速上手

  1. 初始化安装依赖

    pnpm install
    
  2. 清理所有依赖

    pnpm run clean
    pnpm run clean:win
    
  3. 构建生产 sdk 包

    # mac 环境
    pnpm run build
    # windows 环境
    pnpm run build-win
    

3.如何使用docker部署

3.1 创建 Dockerfile文件

# 基于nginx官方alpine镜像制作
FROM nginx:alpine
​
# 维护者信息
LABEL maintainer = "bcht"# 复制构建好的项目到nginx默认目录
COPY dist/ /usr/share/nginx/html/
​
# 复制当前项目nginx配置文件到默认位置
COPY /nginx.conf /etc/nginx/nginx.conf
​

3.2 nginx配置

# 在nginx.conf中include本配置文件
​
worker_processes  1;
​
events {
  worker_connections  1024;
}
​
http {
  include       mime.types;
  default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 16k;
​
  # 开启gzip,防止全局未开启
  gzip  on;
  gzip_disable “MSIE [1-6].(?!.*SV1)”;
  gzip_http_version 1.1;
  gzip_vary on;
  gzip_proxied any;
  gzip_min_length 5k;
  gzip_buffers 16 8k;
  gzip_comp_level 2;
  gzip_types text/css text/xml text/plain application/json application/javascript application/xml application/rss+xml application/xhtml+xml;
  
  server {
    listen  9099;
    charset utf-8;
    server_name  127.0.0.1;
​
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
  }
}
​

3.2 docker-compose.yaml

version: "3"
services:
  synthetic-combat-platform:
    container_name: synthetic-combat-platform
    build:
      context: ./
      dockerfile: Dockerfile
    ports:
      - 9099:9099
    volumes:
      - ./dist:/usr/share/nginx/html