整体上看,不同环境的过程大部分是一样的,可能一些配置不一样,有些环境会多几步操作
基本过程:打包、数据(DB等)初始化、deploy
Requirement
- 有通用过程,通用配置。单独环境有个别special过程,配置。支持merge specific into common
- 有机制根据env flags或env value加载不同的路径
- easy to create clean environment
- 可以配置额外的命令满足不同的需求
docker 满足3
docker-compose based on docker满足2、3
cage based on docker-compose满足1、2、3
4 docker、docker-compose都可以满足,但不够简单明了,cage可以满足
使用
--target 指定使用哪个环境
cage up [pod] [service]启动环境
cage shell service 启动shell
cage run-script cmd-name [service]运行yaml中配置的命令
cage run service [cmd-name]运行docker中提前写好的命令
TODO
使用k8s作为底层重新实现cage