Skip to content
fsword edited this page Mar 1, 2017 · 7 revisions

使用说明

shelter系统使用docker相关技术进行组织,因此要求使用环境支持docker/compose 。在源码根目录下有一个 docker-compose.yml ,可以用来构建完整的系统。

构建步骤

insecure registry

使用 http 协议提供服务,不需要证书。

  • 设定服务地址(通常是运行容器所在宿主机地址,需要可以被其他用户访问),在源码目录下执行:
./prepare.sh <your_host_ip>
  • 构建并启动各个服务,在源码根目录下执行:
docker-compose up -d

normal registry (待补充)

使用 https 提供服务,需要使用证书,正式使用时推荐使用这种方式

补充说明

这里的 docker-compose.yml 文件主要用于演示,与正式环境相比,主要有两方面需要用户进行定制:

  • registry的部署优化:用户可以根据需要选择registry的存储方案,不应局限于缺省配置方式
  • 数据库持久化信息外置:shelter使用 postgre 和 redis,建议这里直接使用外部数据源以保存系统状态

开发要求

  • 除非一定要在运行时进行的设定,否则不应将环境变量留给 docker-compose.yml ,可以根据习惯使用硬编码或者放入 Dockerfile
  • 经过 Dockerfile 描述后交付的镜像就是不可变交付物,不区分所谓的“开发”、“测试”、“线上”等等的“环境”
  • docker-compose.yml 使用的环境变量均可以根据实际需要进行改变,这种改变不应导致系统表现出不同的质量和性能
  • 源码根目录下的 integration_test 用于进行验收测试,此时的测试是针对所有shelter和相关应用集成后的系统,对于feature合入,这个测试的通过是前置条件

如何进行开发,请参考开发指南

Clone this wiki locally