D-One 是解决项目从新建到发布的全流程平台 https://dev-one.cn/#/
开发需要参考 egg 的多进程模块 https://www.eggjs.org/zh-CN/core/cluster-and-ipc
当你是第一次使用仓库的时候,应先执行数据库初始化命令,请先 按照链接
// --- 初始化数据库 ---
npm install --save-dev sequelize-cli
npx sequelize init:config
npx sequelize init:migrations
// --- 创建数据库 ---
npx sequelize db:create
// --- 未创建表则会新建,创建过则忽略 ---
npx sequelize db:migrate
// --- 删除表 ---
npx sequelize db:migrate:undo:all
// --- 如需要在本地操作则需先修改 ---
// database => config.json => host: one_mysql => host: localhost
0. 需要先启动基础服务,docker-compose -f docker-compose-base.yml up -d
1. 修改 database 中 config.json 的 host 为 localhost
2. 执行 NODE_ENV=development npx sequelize db:migrate
需要使用模版的 docker 部署能力请阅读该文档片段
docker 文件分为两个, docker-compose
文件提供项目能力 docker-compose-base
提供数据库与redis能力,如需用到请先修改两份文件中的 networks
修改成新项目的名称。然后修改 container_name
字段,该字段主要提供数据库连接别名,修改之后需要在 config 中配置数据库的连接与使用。
docker 部署流程请参阅文档 https://baishan-xux.yuque.com/staff-qktuyg/wn3ktx/inbmhg#jbKr2
- Docker 中如何确保有 Git 环境 (Docker file init 安装 Git)
- 如何在 Docker 中确保可以通过 服务端创建 Git 仓库 (初始化启动脚本获取 BitBucket Key)
- 如何在 Docker 中提交 Git init 请求 (Git 账号 login)
- NodeJS 项目在服务端如何开辟 CLI init 的空间 (存放文件夹 命名规则 name + timestep)
- 如何处理大量的请求同时进来带来的消耗服务端 init project 物理存储空间的问题 (rm 文件夹 在 node 中执行?)(不使用物理空间 用内存? 大量项目怎么办?)
- 如何安全的删除 Git 提交之后的 init 文件
- 如何保证失败之后可以同步到前端?(子进程轮询?异步?)
- 用户在平台注册创建账号
- 用户绑定 Git Group 地址 和 SSh Key、Git 用户名、邮箱
- 用户上传完成 Template、Page、Component 等前置输入的创建 @template
- 用户选择模版、输入项目名称、默认项目页面等
- 用户在平台创建项目
- Node 执行 Init、Push、Remove Shell 分别初始化、推送、服务端回收空间