Windows下安装自动化部署工具Fabric

部署应用程序用FTP还是SCP还是rsync复制文件?如果你需要手动复制,用一次两次还行,一天如果部署50次不但慢、效率低,而且容易出错。
正确的部署方式是使用工具配合脚本完成自动化部署。Fabric就是一个自动化部署工具。由于Fabric是用Python 2.x开发的,所以,部署脚本要用Python 2.7来编写,本机还必须安装Python 2.7版本。
要用Fabric部署,需要在本机(是开发机器,不是Linux服务器)安装Fabric。Linux服务器上不需要安装Fabric,Fabric使用SSH直接登录服务器并执行部署命令。
下面介绍一下在Windows安装Fabric的方法:

安装Python

  • 第一步:访问Python官网,下载2.7.X版本;如:下载的版本为:python-2.7.15.amd64.msi;
  • 第二步:安装完成后,设置系统变量;如:将;C:\Python27;C:\Python27\Scripts加入到环境变量path中;

安装openssh

  • 访问
    http://tenet.dl.sourceforge.net/project/sshwindows/OpenSSH%20for%20Windows%20-%20Release/3.8p1-1%2020040709%20Build/setupssh381-20040709.zip
  • 下载类似软件包名称:setupssh381-20040709.zip 进行安装。

安装VCForPython27.msi

  • 访问
    https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi

  • 下载软件包名称:VCForPython27.msi 进行安装。

安装c++ 2008/2010

  • VC++2008
    https://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe
  • VC++2010
    https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe

  • 这两个文件区别如下:Windows7用2008,Windows10用2010;当然,两个都安装也没问题。

安装fabric

在cmd下执行:1、pip install pycrypto
2、pip install crypto
3、pip install ecdsa
4、pip install paramiko
5、pip install fabric==1.10.2    # 注意当前最高版本为2.0.1,版本太高内部会有不满足依赖,from fabric.api import * 时会报错:ImportError: No module named api

安装bsdtar/gzip for windows

特别说明:由于fabfile.py(在本文档最后附有)中由于tar for windows不支持.tar.gz/.gz/zip/.bz2等因此这里使用支持这些压缩格式的bsdtar来代替;

1、访问 http://gnuwin32.sourceforge.net/packages/libarchive.htm 下载bsdtar安装包:libarchive-2.4.12-1-setup.exe
2、访问 http://gnuwin32.sourceforge.net/packages/gzip.htm 下载gzip安装包:gzip-1.3.12-1-setup.exe
3、安装好后配置环境变量,比如这两个文件都会安装到:C:\Program Files (x86)\GnuWin32\ 目录下,将";C:\Program Files (x86)\GnuWin32\bin"加入到环境变量path中;
4、为了在cmd下使用bsdtar像使用tar命令一样,到目录: C:\Program Files (x86)\GnuWin32\bin 下将bsdtar.exe复制一份重命名为tar.exe,这样在cmd下就可以直接使用 tar -zcvf test.tar.gz test 命令进行打包了,和Linux下用法一致,这样fabfile.py中的build()函数就不会报错了(即执行 fab build 命令就可以正常构建部署包了)。

编写部署脚本fabfile.py

Fabric的部署脚本叫fabfile.py,我们把它该文件放到项目的根目录下即可;比如项目目录叫awesome-python-webapp,直接将fabfile.py放到项目目录下即可;
如果在开发环境更新了代码,只需要cd到项目目录在命令行执行:

$ fab build
$ fab deploy

自动部署完成!刷新浏览器就可以看到服务器代码更新后的效果。
fabfile.py该文件包含的功能有:获取当前路径,获取当前时间的字符串格式,应用备份,构建(打包)部署安装包,将安装包上传至服务器,进行(解压)部署安装并重启服务,回滚到前一个版本,将数据库数据备份恢复到本地库等;

下载fabfile.py文件

Windows下安装自动化部署工具Fabric相关推荐

  1. windows下安装node版本管理工具及nvm use切换不成功问题解决

    windows下安装node版本管理工具及nvm use切换不成功问题解决 参考文章: (1)windows下安装node版本管理工具及nvm use切换不成功问题解决 (2)https://www. ...

  2. rocketmq安装,内存配置,各种命令说明,windows下安装,控制台工具

    1修改内存大小 以下只是设置实例: cd /home/bigdata/installed/rocketmq-all-4.2.0 (140机器) vim bin/runserver.sh (调整name ...

  3. Windows下安装图片标注工具LabelImg遇到的问题及解决办法

    个人用的是windows系统,由于在windows系统下采取了好几种的安装方案,本着个人的喜好,选择了第一种安装方法 由上图可以看到,其实安装方案也比较简单,自己仅需要安装两个包, pip insta ...

  4. python 自动化部署工具-fabric

    今天闲来无事,来介绍一下利用fabric 来部署代码包. 安装 pip install fabric fabric 默认引用fafile.py,指定执行文件加参数-f,如:fab -H 127.0.0 ...

  5. Windows下安装UEFI引导工具Refind引导Ubuntu+win10(解决新版refind无界面问题)

    1.准备工作 我假设你已经做好的事:硬盘是GPT分区,且已有EFI分区 已经装好ubuntu和win10系统,且默认情况下用grub2引导 需要下载的文件有:refind安装文件--rEFInd-wi ...

  6. 【Fabric】Python自动化部署工具-Fabric入门教程

    可以参考:Fabric官方文档 可以参考:廖雪峰的官方网站 可以参考:Python模块之Fabric 可以搭配使用:Portainer,是一个轻量级的Docker环境管理UI,可以管理docker h ...

  7. linux安装自动化部署工具jenkins

    创建工程目录 mkdir /home/software/jenkins 创建工作空间 mkdir /home/workspaces/jenkins 进入工程目录 cd /home/software/j ...

  8. Python—自动化部署工具:Fabric

    Fabric是python编写的一款自动化部署工具 Fabric依赖paramiko进行SSH交互,某种意义上Fabric是对paramiko的封装,封装完成后,不需要像使用paramiko一样处理S ...

  9. Windows系统下安装CVAT标注工具

    Windows系统下安装CVAT标注工具 一.Windows Docker安装 注意:此方法仅适用于 Windows 10 操作系统专业版.企业版.教育版和部分家庭版! 1.Docker Deskto ...

最新文章

  1. Oracle SID爆破工具SidGuess
  2. 微型计算机技术实验报告,微型计算机技术及应用实验报告.docx
  3. python类变量继承_python 类的成员及继承
  4. jQuery构建路由
  5. 计算机函数图象,信息技术应用用计算机绘制函数图象
  6. 简要分析电话光端机的常见问题
  7. 苹果7手机严重卡顿_苹果手机仅配备4GB运存都不会卡顿,安卓系统为何要更多内存?...
  8. String转换成int型
  9. angularjs路由监听,uirouter感知路由变化,解决uirouter路由监听不生效的问题
  10. 【FZU 2277】Change
  11. Pytorch文本分类
  12. 原生JS制作缤纷色彩板
  13. C Primer Plus(6) 中文版 第11章 字符串和字符串函数 11.1 表示字符串和字符串I/O
  14. GTA5最新线上小助手
  15. 2016年Kubernetes(k8s)大事记
  16. CAD第一堂课:面板介绍(上)
  17. openOCD的使用1: 应用openOCD和Jlink仿真器连接Freescale K60系列 MCU
  18. InputStream的read方法
  19. 浙江师范的计算机专业的排名2015,浙江师范大学计算机科学与技术研究生专业排名...
  20. 为什么评论会被折叠?

热门文章

  1. 水流量法高温平板导热仪升级改造:提高测量精度、缩短测试时间
  2. 深入理解计算机系统——缓存溢出、对抗缓存溢出的攻击、支持变长栈帧
  3. Oauth原理和四种授权模式
  4. 关于Java String 不可变性的分析
  5. 安装zerotier实现内网穿透
  6. 大道PHP+LAMP+ZEND+开源框架整合开发与实战|pdf电子书(100m)
  7. HTML之colgroup与col
  8. Java算法基础:使用递归算法实现,平方相加1^2 + 2^2 + 3^2 +...+ n^2。
  9. java preference xml,java-将PreferenceScreen添加到linearlayout
  10. 全国计算机等级考试报名简章,全国计算机等级考试报名简章.pdf