@boxizen
2019-09-03T07:17:20.000000Z
字数 927
阅读 564
kube
未分类
1.管理端
旧的管理端 重构并迁移至新平台
1.1 配置表管理
过去情况:
- 无版本控制,录入错误需要手动操作数据库恢复历史版本,且无法查看修改历史修改
- 录入面板不友好,容易出现语法错误导致配置解析一场
优化进度:
- 引入 monaco 编辑器
- 配置表增删查改
- 版本控制,差异diff
- bugfix
1.2 流程部署 CI/CD
自定义/编辑项目部署发布
过去情况:
ift 同步本地项目至体验环境(oa),或走kg构建ars发布至外网
优化进度:
- 开发机构建打包 -> rsync -> 104体验机, 9月中旬研发流程优化后可直接通过下面的方式拉取项目并构建详情点击
- webhooks触发IDC hook 服务,IDC访问 Git,构建打包项目
- diff checks
- 发布信息录入
1.3 权限管理
过去情况
- 权限录入麻烦,尤其是对于动态脚本的权限控制,需要手动提取脚本里面的action,如遇复杂场景录入方式如下图:
- 不支持自定义/编辑项目权限控制
- 权限审批和分配不友好
优化进度
- 组权限录入优化
- 自定义项目权限
- 权限审批与分配
- 梳理旧权限逻辑,并移植到新平台
serverapi
针对新平台重新开发的一套管理端接口
- 用户管理
- 配置表增删查改
- 版本管理
- 部署数据管理
- 权限管理
2. kubeapi
过去情况:
- 不支持自定义项目权限的拦截,需统一走kubeapi的鉴权,不灵活
- 动态脚本操作mysql需要写sql,编写成本较高而容易出错,代码也不好复用:
- kubeapi,kubeadmin,kubeoutside项目位于在kg体系下,后续要扩展依赖,部署都不方便
优化进度:
- 接口权限拦截判断
- 动态脚本sql对象链式操作 - mysqls
- 动态脚本 actions 暴露,方便组权限录入及管理
- 项目迁移,单独维护,方便后续依赖注入
3. 编辑器
编辑方式
接口登记 --> 组件拖拽 --> 事件绑定 --> 生成配置 --> 服务端构建
Reference: WeBuilder
流程
3.1 接口管理
- 接口注册(配置表管理-数据源/动态脚本录入)
- 接口登记(配置表管理-动态脚本编辑录入)
- 接口预览 && 数据mock
3.2 可视化布局
3.3 数据与事件
- 暴露 Vue 生命周期的函数入口(beforeMount,mounted...), 供用户编写自定义函数