New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
第三方部署 #31
Comments
第三方部署直接就是 production 环境需要抽出来的环境变量有(还未最终确定):
|
当前的项目使用 pm2 作为进程守护工具 |
第三方部署需要是可升级式的部署, 提供升级的文档, 相应的提供卸载的文档 |
启动时从用户的配置文件中读取相应的值, 校验数据格式是否正确, 不正确抛出错误, 终止程序. 如果没有的话使用系统的内部值
self-hosted.config.js |
校验 ali-oss 的 accessKeyId accessKeySecret 等参数new Oss({
// 配置文件中的 ali-oss 的配置数据
}) 只会校验配置的参数和格式, 不会校验是否 id, secret 是否真的有效, 可以上传或者是删除图片, 这种校验涉及到第三方服务, 可以暂不校验, 等待服务启动起来之后再行校验 为什么不校验是否真正有效? 因为 id, key 是否有效需要阿里云第三方服务校验, 不属于该系统的校验, 该系统只校验 id, key 是字符串就可, 当真正的上传图片的时候才去第三方校验, 如果失败, 让用户感知是第三方服务抛出了错误, 而不是该系统抛出了错误 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
参考 https://github.com/DXY-F2E/api-mocker , index.html 可以通过 nginx 配置进行访问, bff 层不是必须的, 因此 BFF 的配置和启动皆为可选项 静态资源也只有启动的第一次的时候需要, 其实的时候其实不是必须, 静态资源的打包需要配置的就是 index.html 的静态资源的引用地址, webpack 支持配置 cdn 的地址(publicPath), 所以这个配置需要交给用户 |
用户的配置文件在仓库中被 gitignore, 里面存储机密数据和非机密数据, 统称为配置 |
前端静态资源发布管理
是 使用何种云服务发布静态资源, 目前只支持阿里云oss module.exports = {
frondend: {
asset: {
useCloudStorage: false,
cloudStorageUpload: {
aliOss: {
accessKeyId: '',
accessKeySecret: '',
bucket: '',
secure: true
}
},
// 资源要挂载的目录地址, 默认为 frondend 目录下的 dist 目录
location: '',
// webpack 打包的 publicPath 配置, 详情可以参考 webpack 的文档
webpackPublicPath: '',
}
}
} |
This comment has been minimized.
This comment has been minimized.
如何跨端(windows, linux)测试安装 -> config -> 启动服务 -> 运行测试 |
用户和手动安装方式
Github Actions 方式
|
This comment has been minimized.
This comment has been minimized.
/** @type {{}} 后端 */
backend: {
/** @type {{}} 图片存储源 */
imageStorage: {
aliOss: {}
},
/** @type {number} HTTP 服务监听的端口号 */
listenPort: 1,
/** @type {string} 生成删除图片 Key 的加密 key */
deleteKeyCryptoKey: '',
/** @type {[number, number]} 请求频率限制, 以秒为单位 */
seconds: [],
/** @type {[number, number]} 请求频率限制, 以小时为单位 */
hours: [],
/** @type {string} mongodb 数据库的地址 */
dbPath: ''
} |
目前仓库里面后端 e2e 测试需要 aliyun 的 oss 服务介入, 所以需要提供测试的 alioss 配置 test: {
imageStorage: {
aliOss: {}
}
} |
本地存储目录配置local: { 目前代码中并不支持 本地存储目录存储图片, 该 issue 只是为了支持第三方部署, 不是为了添加新功能, 该功能推迟 |
2020.3.30 剩余的工作
在多系统 Ubuntu, centos 下测试 self-hosted.config.js测试用例应该在多平台下进行测试, 不属于该 issue 内容. e2e 测试就是在测试可用性测试图片存储源配置
self-hosted.config.js -> backend.imageStorage
本地的某一个地址, 内网访问会比 CDN 更快 目前代码中并不支持 本地存储目录存储图片, 该 issue 只是为了支持第三方部署, 不是为了添加新功能, 该功能推迟前端静态资源发布配置
self-hosted.config.js -> frondend.asset
MongoDB 数据库
后端服务配置
The text was updated successfully, but these errors were encountered: