安装 Fabric
Fabric 目前仅支持 Python2,如果你的系统中只有 Python3 版本,可以使用 Fabric3,但是只能安装低版本1.14.post1,高版本不支持api方法。
接下就可以简单地通过 pip 命令安装 Fabric 了。
部署过程回顾
在写 Fabric 脚本之前,我们先来回顾一下当我们在本地开发环境下更新了代码后,在服务器上的整个部署过程。
- 远程连接服务器。
- 进入项目根目录,从远程仓库拉取最新的代码。
- 如果项目引入了新的依赖,需要执行
pip install -r requirement.txt
安装最新依赖。 - 如果修改或新增了项目静态文件,需要执行
python manage.py collectstatic
收集静态文件。 - 如果数据库发生了变化,需要执行
python manage.py migrate
迁移数据库。 - 重启 Nginx 和 Gunicorn 使改动生效。
整个过程就是这样,把每一步操作翻译成 Fabric 对应的脚本代码,这样一个自动化部署脚本就完成了。
编写 Fabric 脚本
Fabric 脚本通常位于 fabfile.py 文件里,因此先在项目根目录下建一个 fabfile.py 文件。
根据上述过程编写的脚本代码如下:
注意全部的脚本代码要放在 deploy 函数里,Fabric 会自动检测 fabfile.py 脚本中的 deploy 函数并运行。
由于脚本中有登录服务器的用户名和密码等敏感信息,不要把 fabfile.py 文件也上传到公开的代码托管仓库。
执行 Fabric 自动部署脚本
进入 fabfile.py 文件所在的目录,在 Python 的环境下用 fab 命令运行这个脚本文件(已配置环境变量)。
比如我的是 Windows 环境,那么运行:
而如果看到