fabric 自动化部署

2019-12-04  本文已影响0人  洋阳酱

我换了一台新电脑,在自动化部署网站的时候出现了问题。这篇就纯粹是自我提醒。

在fabric自动化部署的时候,出现 Error: cannot import name 'isMappingType',这个时候,可能是你的fabric安装版本错了。

用python3的时候,应该 pip install fabric3 而不是 pip install fabric,注意是fabric3。然后修改路径,到包含fabflie的文件夹下,直接fab deploy就好啦。如下图所示

cd D:\Python\BlogLearning\blogproject
fab deploy

附fabric完整代码:

from fabric.api import env, run
from fabric.operations import sudo

GIT_REPO = "https://github.com/******" # GitHub上你的文件位置 

env.user = '****'  #  你的用户名
env.password = '********'   #  你的密码

# 填写你自己的主机对应的域名
env.hosts = ['www*******.com']

# 一般情况下为 22 端口,如果非 22 端口请查看你的主机服务提供商提供的信息
env.port = '22'

def deploy():
    source_folder = '/home/***********'  # 填写你在服务器上的文件路径

    run('cd %s && git pull' % source_folder) 
    run("""
        cd {} &&
        ../env/bin/pip install -r requirements.txt &&
        ../env/bin/python3 manage.py collectstatic --noinput &&
        ../env/bin/python3 manage.py migrate
        """.format(source_folder))  
    sudo('restart gunicorn-www.********.com')   # 填写你自己的网址
    sudo('service nginx reload')
上一篇 下一篇

猜你喜欢

热点阅读