fablinker是一个类似ansible开源自动化运维工具,在一台服务器上可管理控制多个远程主机。
基于fabric开发,兼容python2.7、python3+。
相对ansible和fabric,fablinker基于命令行交互式操作,使用起来更加方便快捷。
使用前首先需要确保所有机器能用ssh连接。具体使用请查看应用场景章节。
文档同步更新在github, https://github.com/gangly/fablinker
分布式项目部署
- 交互式连续操作远程机器
比如分布式项目需要部署在12台机器上,一旦代码更改,那么所有worker上的代码都要更新
涉及到的操作:
1)停止所有机器上的进程
2)将本地机器上的最新代码分发到远程各个机器
3)启动所有机器上的项目
用fablinker可以这样来做(假如项目中有stop.sh和start.sh):
1)运行fablinker,切换到对应的机器分组
2)执行fab cd path 所有机器cd到项目目录path中
3)执行fab sh stop.sh 停止项目进程
4)执行fab put new.zip path && unzip new.zip
- 执行fab sh start.sh 启动所有机器项目