玩蛇网提供最新Python编程技术信息以及Python资源下载!

Fabric使用SSH keyfile登录远程服务器部署实现指导

每次部署时都输入用户名密码好麻烦

http://docs.fabfile.org/en/latest/usage/env.html#key-filename

你不看文档的吗

以前写的发布脚本,可以参考下

# -*- coding: utf-8 -* 
#添加中文注释的编码 
#fabfile.py
from fabric.api import *

env.user = 'root'
env.hosts = ['192.168.1.100']
#远程服务器的密码,这个建议不要填写,宁愿在运行的过程输入,因为这是明文显示的,不安全
#env.password = 'testtest'

#从版本库取出,并删除.svn文件
def download():
    local('rm -rf /tmp/newer' )
    local('mkdir /tmp/newer')
    local('svn checkout svn://localhost/newer /tmp/newer')
    local('find /tmp/newer -name ".svn" | xargs rm -rf')

#压缩打包
def pack():
    with lcd('/tmp/'):
         local('tar czvf newer.tar.gz ./newer')

#部署远程服务器目录结构
def display():
    run('rm -rf /var/www/html/tmp')
    run('mkdir /var/www/html/tmp')
    # 将本地的压缩包发送到远程服务器
    put('/tmp/newer.tar.gz','/var/www/html/tmp')

    with cd('/var/www/html/tmp'):
         run('tar xvf newer.tar.gz')

    #都部分目录进行特别处理
    with cd('/var/www/html/newer/public/'):
         run('cp -r ueditor ../../tmp')

    with cd('/var/www/html/'):
         run('rm -rf newer')
         run('cp -r /var/www/html/tmp/newer ./')

    with cd('/var/www/html/newer/public'):
         run('rm -rf ueditor')
         run('cp -r /var/www/html/tmp/ueditor ./')

# 执行部署
def go():
    download()
    pack()
    display()

参考:
Python Fabric 部署工具

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19383.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月23日 - 17时08分07秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules