本地开发的服务管理工具。
mms-stack的Python项目详细描述
堆叠
本地开发的服务管理工具。
要求
python 3
pipenv
安装
发展
git clone git@gitlab.com:mega-mac-slice/stacky.git
cd stacky
make install
stacky --help
啤酒
brew tap mega-mac-slice/tap && brew install stacky
配置
“stacky文件”是项目目录中的json文件,通常名为.stacky.json,看起来像:
{"name":"dev-application","commands":{"start":"make start","status":"make status"},"stack":["git@gitlab.com:mega-mac-slice/dev-postgres.git","git@gitlab.com:mega-mac-slice/dev-redis.git","git@gitlab.com:mega-mac-slice/dev-elasticsearch.git"],"extra":{"kafka":["git@gitlab.com:mega-mac-slice/dev-fast-data-dev.git"]}}
在这里,我们为项目本身以及项目对postgres、redis和elasticsearch的依赖性定义了一些命令。
用法
开始
stacky start
这将执行以下操作:
- 对于每个依赖项,检查它是否也有一个.stacky.json,并在本地检索在stack中定义的那些依赖项。
- 对于每个依赖项,检查它的状态并在需要时启动它。
对于我们的示例stacky.json,我们将从:
dev-application \ .stacky.json Makefile
在运行stacky start
之后,将在项目附近的本地签出依赖项。
dev-application \ .stacky.json Makefile dev-postgres \ .stacky.json dev-redis \ .stacky.json dev-elasticsearch \ .stacky.json
状态
stacky status
这将遍历依赖项并检查其状态。让您知道应用程序的堆栈是否正在运行。
> stacky status [INFO] dev-application - ok [INFO] dev-postgres - ok [INFO] dev-redis - ok [INFO] dev-elasticsearch - ok
停止
stacky stop
这将遍历依赖项并停止它们。
> stacky stop [INFO] stopping | dev-elasticsearch [INFO] stopping | dev-redis [INFO] stopping | dev-postgres
运行
stacky run command-name
其他命令可以在commands中定义,并通过run调用。
> stacky run reset [INFO] dev-postgres - ok [INFO] dev-redis - ok [INFO] dev-elasticsearch - ok
可能的结果如下:
- ^ {CD4}}命令存在并成功运行。
- ^ {CD5}}命令存在且运行失败。
- ^ {CD6}}命令不存在。
路径
stacky paths
提供要与外部工具一起使用的依赖路径的瓷器输出。
> stacky paths
/dev/src/dev-elasticsearch
/dev/src/dev-redis
/dev/src/dev-postgres
> stacky paths | xargs rm -rf