博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python工具 fabfile.py 部署svn 上的代码
阅读量:5160 次
发布时间:2019-06-13

本文共 1357 字,大约阅读时间需要 4 分钟。

#!/usr/bin/env python# -*- coding: utf-8 -*-from datetime import datetimefrom fabric.api import *# 登录用户和主机名:env.user = 'root'env.hosts = ['www.example.com'] # 如果有多个主机,fabric会自动依次部署# 定义一个pack任务:def pack():    # 打一个tar包:    tar_files = ['*.py', 'static/*', 'templates/*', 'favicon.ico']    local('rm -f example.tar.gz')    local('tar -czvf example.tar.gz --exclude=\'*.tar.gz\' --exclude=\'fabfile.py\' %s' % ' '.join(tar_files))# 定义一个部署任务:def deploy():    # 远程服务器的临时文件:    remote_tmp_tar = '/tmp/example.tar.gz'    tag = datetime.now().strftime('%y.%m.%d_%H.%M.%S')    run('rm -f %s' % remote_tmp_tar)    # 上传tar文件至远程服务器:    put('shici.tar.gz', remote_tmp_tar)    # 解压:    remote_dist_dir = '/srv/www.example.com@%s' % tag    remote_dist_link = '/srv/www.example.com'    run('mkdir %s' % remote_dist_dir)    with cd(remote_dist_dir):        run('tar -xzvf %s' % remote_tmp_tar)    # 设定新目录的www-data权限:    run('chown -R www-data:www-data %s' % remote_dist_dir)    # 删除旧的软链接:    run('rm -f %s' % remote_dist_link)    # 创建新的软链接指向新部署的目录:    run('ln -s %s %s' % (remote_dist_dir, remote_dist_link))    run('chown -R www-data:www-data %s' % remote_dist_link)    # 重启fastcgi:    fcgi = '/etc/init.d/py-fastcgi'    with settings(warn_only=True):        run('%s stop' % fcgi)    run('%s start' % fcgi)

 

转载于:https://www.cnblogs.com/happig/archive/2012/12/12/2814521.html

你可能感兴趣的文章
35. Search Insert Position(C++)
查看>>
[毕业生的商业软件开发之路]C#异常处理
查看>>
一些php文件函数
查看>>
有关快速幂取模
查看>>
Linux运维必备工具
查看>>
字符串的查找删除
查看>>
NOI2018垫底记
查看>>
快速切题 poj 1002 487-3279 按规则处理 模拟 难度:0
查看>>
Codeforces Round #277 (Div. 2)
查看>>
【更新】智能手机批量添加联系人
查看>>
NYOJ-128前缀式计算
查看>>
淡定,啊。数据唯一性
查看>>
深入理解 JavaScript 事件循环(一)— event loop
查看>>
Hive(7)-基本查询语句
查看>>
注意java的对象引用
查看>>
C++ 面向对象 类成员函数this指针
查看>>
NSPredicate的使用,超级强大
查看>>
自动分割mp3等音频视频文件的脚本
查看>>
判断字符串是否为空的注意事项
查看>>
布兰诗歌
查看>>