A deploy tool for simple, standard, stable and speed
APACHE-2.0 License
受启发于AWS CodeDeploy的自动化部署服务,抽取其中标准化部署功能实现的一个本地部署组件。AWS CodeDeploy User Guide
下载最新的Release包,通过pip命令安装:
pip install deploy4s
或者通过下载源码包或clone代码至本地,然后通过如下命令安装:
python setup.py install
deploycli --bundle=http://server/example.zip
使用--help查看更多使用帮助。 --bundle参数指定zip包的路径,可以是本地文件路径也可以是HTTP地址。
与标准的AWS CodeDeploy相比,appspec.yml文件需要新增一个workdir
参数,用于指定hooks中命令的执行Current Working Directory,其他参数配置可参考AWS CodeDeploy。
一个示例的appspec.yml文件如下所示:
version: 0.0
os: linux
workdir: /app
files:
- source: /
destination: /app
hooks:
ApplicationStart:
- location: bin/start.sh
ApplicationStop:
- location: bin/stop.sh
BeforeInstall:
- location: bin/backup.sh
AfterInstall:
- location: chmod a+x bin -R
将该文件与待部署文件一起打成zip包(appspec.yml文件必须位于zip包顶层),将该zip包上传至HTTP server或待部署机器本地。 在服务运行的机器上执行如下命令,即可将部署zip包文件部署到机器上,并停止、启动服务(与hooks中配置相关):
deploycli --bundle=http://server/example.zip