Fabric使用SSH keyfile登录远程服务器部署实现指导,sshkeyfile,每次部署时都输入用户名密


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

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

你不看文档的吗

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

# -*- coding: utf-8 -* #添加中文注释的编码 #fabfile.pyfrom 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 部署工具

编橙之家文章,

评论关闭