sofa-micro
微服务应用模板,引入的是git仓库引用
publish micro
发布微服务,配置文件是sofa.config.js,字段如下:
= name: 'common-system-manage' type: 'micro' isBlank: false isTs: false frame: 'react' microsPath: '' detail: '' exportModules: {} importModules: {} plugins: {};
发布流程
- 检验sofa.config.js、config-bridge、package.json文件,以及不允许导出空
- 校验git信息(是否安装、是否登录)
- 校验子模块git信息,没有git仓库就初始化空仓库,检查本地代码更新与否
- 交互-名称确认/获取,校验不重名
- 质量检查eslint/tslint配置
- 发布micro,参数:(operator,secretKey, path, version=0.0.0 + config)
涉及其他模块的接口
git模块:新增initGit, checkGitClean databse模块:addTemplate需要支持micro类型,getTemplates config;支持类型是micro的getConfig、setConfig
add micro [name]
选择并拉取微服务子模块
添加流程
- 校验当前目录下的sofa.config.js文件,包括是否存在和相关字段,解析plugins字段。
- 带参数,查询有无此微服务,如果有跳过步骤;没有或无参数查询出所有微服务,让用户选择。
- 向sofa.config.js文件中写入导入模板(不能写重复了)
- 当前目录下不存在同名文件夹,与db交互获取path
- clone代码
以上每一步操作执行后都回调抛出当前可能要执行的hooks操作。
涉及其他模块的接口
git模块:新增clone仓库 databse模块:getTemplates config:支持getconfig字段是复杂类型的数据 dev-utils:
add component
选择和拉取组件,不可修改
添加流程
- 查询db,选择组件
- 查找components路径
- clone代码
以上每一步操作执行后都回调抛出当前可能要执行的hooks操作。
涉及其他模块的接口
git模块:新增clone仓库 databse模块:getTemplates config:支持getconfig字段是复杂类型的数据