You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.6 kB

1 year ago
2 years ago
1 year ago
12345678910111213141516171819202122232425262728
  1. # 跨中心存储系统
  2. ## 目录结构
  3. 此仓库是一个go module,但包含了多个服务的源码,你可以在每个服务的目录中找到main.go。可以通过编译脚本的参数来指定生成哪一个服务。
  4. - `agent`:Agent服务的源码。
  5. - `client`:Client服务的源码。
  6. - `common`:存放在几个服务之间共享的代码以及一些数据结构定义。
  7. - `coordinator`:Coordinator服务的源码。
  8. - `scanner`:Scanner服务的源码。
  9. 同时还有以下两个与编译相关的目录:
  10. - `build`:服务编译后的输出目录,只会在编译后生成。
  11. - `magefiles`:mage工具使用的编译脚本。
  12. ## 编译
  13. 运行编译脚本需要使用mage工具,此处是[仓库链接](https://github.com/magefile/mage)。
  14. 安装好mage工具之后,进入到仓库根目录,使用`mage agent`即可编译Agent服务。与此相同的还有`mage client`、`mage coodinator`、`mage scanner`。可以同时指定多个参数来编译多个服务,如果要一次性编译所有服务,可以使用`mage bin`。
  15. 使用`mage confs`命令可以将`common/assets/confs`的配置文件拷贝到输出目录,使用`mage scripts`将`scripts`目录里的脚本拷贝到输出目录。
  16. 使用`mage all`可以一次性完成编译、拷贝工作。
  17. 可以通过增加额外的参数来指定编译目标平台,比如`mage win amd64 agent`。支持的操作系统参数有`win`、`linux`,支持的CPU架构参数有`amd64`、`arm64`。这些参数同样可以和`bin`、`all`参数一起使用。
  18. 注意:编译目标平台参数必须在编译二进制参数之前。

本项目旨在将云际存储公共基础设施化,使个人及企业可低门槛使用高效的云际存储服务(安装开箱即用云际存储客户端即可,无需关注其他组件的部署),同时支持用户灵活便捷定制云际存储的功能细节。