首页
学习
活动
专区
圈层
工具
发布

Python远程部署利器Fabric详解-转载

其上手也极其简单,你需要的只是懂得基本的Shell命令。本文将为大家详细介绍Fabric的使用。...安装Fabric 首先Python的版本必须是2.7以上,可以通过下面的命令查看当前Python的版本: $ python –V Fabric的官网是www.fabfile.org,源码托管在Github...=True) 这样,Hello字样不会输出到屏幕上,而是保存在变量output里。”...上下文管理器 Fabric的上下文管理器是一系列与Python的”with”语句配合使用的方法,它可以在”with”语句块内设置当前工作环境的上下文。...(‘echo $PATH’) 假设我们的PATH环境变量默认是”/sbin:/bin”,在上述”with path()”语句块内PATH变量将变为”/sbin:/bin:/home/bjhee/tmp

1.6K10

使用 Fabric 自动化部署 Django 项目

整个过程涉及到十几条命令,输了 N 个字符。一旦我们本地的代码有更新,整个过程又得重复来一遍,这将变得非常繁琐。 使用 Fabric 可以在服务器中自动执行命令。...首先在本地安装 Fabric: $ pipenv install fabric --dev 因为 Fabric 只需在本地使用,因此使用 --dev 选项,让 Pipenv 将 Fabric 依赖写到...在使用 python manage.py 执行命令时,django 可以接收一个 --settings-module 的参数,用于指定执行命令时,项目使用的配置文件,如果参数未显示指定,django 会从环境变量...接着就是执行一系列部署命令了,进入某个目录使用 ssh 客户端实例的 cd 方法,运行命令使用 run 方法。...--prompt-for-login-password -p deploy 这时 Fabric 会自动检测到 fabfile.py 脚本中的 deploy 函数并运行,输入服务器登录密码后回车,然后你会看到命令行输出了一系列字符串

1.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python 模块之fabric

    Fabric是一个Python库和命令行工具,旨在为应用部署和系统管理任务的SSH的流水线式操作,使之更加高效和方便。...使用pip来安装  yum install python-pip -y pip install fabric Fabric通过命令行工具fab来执行定义在fabfile.py中的任务,常用的配置和函数如下...为了方便,我们一般使用env来指代环境变量。 env环境变量可以控制很多fabric的行为,一般通过env.xxx可以进行设置。...fabric默认使用本地用户通过ssh进行连接远程机器,不过你可以通过env.user变量进行覆盖。...一个字典,可以为每一台机器设置一个密码,key是ip,value是密码 path    在使用run/sudo/local执行命令时设置的$PATH环境变量 port    设置主机的端口 roledefs

    1.2K10

    python之fabric模块

    python 之 fabric 模块 Fabric 是一个用 Python 开发的部署工具,最大特点是不用登录远程服务器,在本地运行远程命令,几行 Python 脚本就可以轻松部署。...: $ fab pack $ fab deploy Fabric提供几个简单的API来完成所有的部署,最常用的是local()和run(),分别在本地和远程执行命令,put()可以把本地文件上传到远程,...有时,我们允许忽略失败的命令继续执行,比如run(‘rm /tmp/abc’)在文件不存在的时候有可能失败,这时可以用with settings(warn_only=True):执行命令,这样Fabric...由于Fabric运行的命令都是基本的Linux命令,所以根本不需要用Fabric本身来扩展,会敲Linux命令就能用Fabric部署。...逗号分隔,设置环境变量 --shortlist 简短打印可用命令 -c PATH 指定本地配置文件 -D 不加载用户known_hosts文件 -i PATH

    1.2K50

    python 自动化部署工具Fabric

    具体来说,Fabric是一个Python库,只要目标机器支持ssh访问,就可以借助fabric来进行远程操作(如在host1上对host2远程运行shell命令),显然,由于fabric是个Python...在fabfile中定义tasks 3.1 fabfile是什么  根据fabric的约定,当运行例如”fab deploy”这样的命令时,fab会默认搜索名为fabfile.py的python文件或名为...示例分别如下: class MyTask(Task):     name = "deploy"  ## 指定task name,会在fab --list输出中显示     def run(self, environment...1)通过env.hosts或env.roles进行全局指定 Fabric的env模块中定义了一系列全局变量,可以将其理解为可以控制fabric行为的环境变量。...截止目前,我们可以看到,fabric允许我们混合使用上面列出的几种目标机器指定方式,但是我们要明白混合的结果是否符合预期。

    1.8K20

    python Fabric使用详解及示例

    abric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志输出等功能.../usr/bin/env python # -*- coding:utf-8 -*- from fabric.api import run #定义一个任务函数,通过run方法实现远程执行‘uname...,格式:env. + '变量名称',如env.age,env.sex等 env.roledefs的使用方法实例: env.roledefs = {'webserver':['192.168.1.21',...('ls -l'+dirname) @task    #限定只有go函数对fab命令可见,其他没有使用@task标记的函数fab命令不可用 def go():     getdirname = input_raw...有时,我们允许忽略失败的命令继续执行,比如run(‘rm /tmp/abc')在文件不存在的时候有可能失败,这时可以用with settings(warn_only=True):执行命令,这样Fabric

    2.4K30

    Fabric 源码学习:如何实现批量管理远程服务器?

    前不久,我写了一篇《Fabric教程》,简单来说,它是一个用 Python 开发的轻量级的远程系统管理工具,在远程登录服务器、执行 Shell 命令、批量管理服务器、远程部署等场景中,十分好用。...每个线程执行的方法主要做两件事:执行 connection 的 run() 方法,以及将执行成功的结果存入队列中。 ? 接下来再分别把执行成功的结果与出异常的结果都存入到 results 中。...所以,Fabric 是使用了 threading 多线程的方式来实现并发。网络请求是 IO 密集型的,使用多线程是不错的方式。...但是,通过分析这两种 Group 的实现代码(以及使用的实践),我们也可以发现 Fabric 的缺陷: Group 只实现了 run() 方法,但是 Connection 的 put()、get()、sudo...更为致命的是,如果其中一台主机执行时出了异常,整个 run() 方法就抛异常,这意味着每次使用 run() 方法时,都需要作异常捕获 run() 方法支持执行单条 shell 命令,但是命令的状态不会传递

    1.3K40

    网络工程师学Python-35-开源自动化部署工具Fabric

    Python Fabric是一个基于Python的开源自动化部署工具,可以简化管理远程服务器的过程。它允许您在一个或多个远程主机上执行命令、上传/下载文件、创建和管理虚拟环境等。...图片安装在开始使用Fabric之前,您需要先安装它。您可以使用pip来安装它:pip install fabric使用Fabric是一个命令行工具,可以使用命令fab来运行Fabric任务。...deploy任务使用Git从仓库拉取代码并重启Apache服务。uptime任务仅仅执行uptime命令并打印输出。...然后,我们使用run()方法在每个连接对象上执行ls命令,并打印输出。...然后,我们使用Connection()方法创建连接对象,并在每个连接对象上执行命令。结论Python Fabric是一个非常强大的自动化部署工具,它可以大大简化管理远程服务器的过程。

    37420

    使用 Fabric 自动化部署

    在 使用 Nginx 和 Gunicorn 部署 Django 博客 中,我们通过手工方式将代码部署到了服务器。整个过程涉及到十几条命令,输了 N 个字符。...使用 Fabric 可以在服务器中自动执行命令。因为整个代码部署过程都是相同的,只要我们用 Fabric 写好部署脚本,以后就可以通过运行脚本自动完成部署了。...注意要使用 Python2 环境下的 pip,这样才能把 Fabric 安装到 Python2 环境下。.../env/bin/ 下的 pip 和 python ⑥ 重启 Gunicorn 和 Nginx,由于这两条命令要在超级权限下运行,所以使用了 sudo 方法而不是 run 方法。...脚本中的 deploy 函数并运行,你会看到命令行输出了一系列字符串,如果在最后看到 Done.

    2K90

    使用 Nginx 和 Gunicorn 部署 Django 博客

    在 使用 Nginx 和 Gunicorn 部署 Django 博客 中,我们通过手工方式将代码部署到了服务器。整个过程涉及到十几条命令,输了 N 个字符。...使用 Fabric 可以在服务器中自动执行命令。因为整个代码部署过程都是相同的,只要我们用 Fabric 写好部署脚本,以后就可以通过运行脚本自动完成部署了。...注意要使用 Python2 环境下的 pip,这样才能把 Fabric 安装到 Python2 环境下。.../env/bin/ 下的 pip 和 python ⑥ 重启 Gunicorn 和 Nginx,由于这两条命令要在超级权限下运行,所以使用了 sudo 方法而不是 run 方法。...脚本中的 deploy 函数并运行,你会看到命令行输出了一系列字符串,如果在最后看到 Done.

    1.4K80

    【Python】:自动化部署??Python 也是可以的!!

    TL;DR * subprocess:用于执行本地 CMD 命令 * Fabric:用于 SSH 连接远程服务器 * webbrowser:用于打开本地浏览器 一、背景 持续集成、持续部署,业界已经有很多成熟...场景1:打包、部署基于 Webpack、React 的前端应用; 每完成一个新功能或每修正一个bug,就需要: npm run build:在本地对项目进行构建; tar:将构建结果(dist)压缩为...subprocess 模块首先推荐使用的是它的 run 方法,更高级的用法可以直接使用 Popen 接口。...Fabric? paramiko 是基于Python实现的 SSH2 远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间SSH代理等功能。...Fabric在 paramiko 的基础上做了更高一层的封装,简化了 SSH 的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程 shell 命令,包括命令执行,文件上传,下载及完整执行日志输出等功能

    52930

    猫头虎分享:Python库 Fabric 的简介、安装、用法详解入门教程

    Fabric 的核心功能 远程命令执行:轻松在远程服务器上运行 Shell 命令。 文件操作:实现文件上传、下载和同步。 自动化脚本:编写 Python 脚本自动化日常任务。...安装 Fabric ️ 安装非常简单,只需一行命令: pip install fabric 注意: 确保您的 Python 版本为 3.6 及以上,否则可能会出现兼容性问题。...", connect_kwargs={"password": "password"}) c.run("uname -a") # 运行命令 输出结果: Linux remote_host 5.4.0-91...("git pull") c.run("systemctl restart my_service") 运行脚本: python deploy.py Q&A 常见问题解答 Q1:Fabric...可以使用 fabric.group.Group 一次性连接多个服务器。 Q2:如何处理连接超时问题?

    45310

    使用python fabric搭建RHEL 7.2大数据基础环境以及部分优化

    1.使用python fabric进行Linux基础配置 使用python,可以让任何事情高效起来,包括运维工作,fabric正式这样一套基于python2的类库,它执行本地或远程shell命令提供了操作的基本套件...用Python3开发的部署工具叫fabric3:fabric3,和fabric一样最大特点是不用登录远程服务器,在本地运行远程命令,几行Python脚本就可以轻松部署。...---- 1.2 使用anaconda2包(有网环境下准备) 在有网环境下,pip instatll fabric后将anaconda打包 解压安装到/opt下 tar -xzf anaconda2...mkdir deployment cd deployment/ vim deploy.py (copy 下一节的内容) //在当前命令行上下文,加入anaconda环境变量 ls /opt/python...3.python3中使用fabric3 https://github.com/mathiasertl/fabric/ pip install Fabric3 4.关闭UseDNS加速SSH登录 经常登陆

    75230

    网络工程师学Python-31-远程连接管理SSH

    Python SSH是一种用于远程连接和管理Linux服务器的Python库。使用Python SSH,您可以在远程服务器上执行命令、上传和下载文件、设置SSH代理等。...在本文中,我们将介绍一些流行的Python SSH库,以及如何在Python中使用它们。Paramiko图片Paramiko是一个用于SSH连接和管理的Python库。...然后,它将命令输出打印到控制台,并关闭SSH连接。Fabric图片Fabric是一个基于Paramiko库的Python库,用于自动化远程系统管理任务。...={'password': 'password'})result = c.run('ls', hide=True)print(result.stdout.strip())上述代码使用Fabric创建了一个...然后,它将命令输出打印到控制台。Netmiko图片Netmiko是一个用于远程设备管理的Python库,包括网络设备和Linux服务器。

    67430

    使用composer写一个简单的区块链互助保险应用

    仅仅针对这类模式的业务,分析如何使用composer来完成超级账本的智能合约开发。 从上面的场景来看,业务简单划分为: 参保、申请互助及审核(涉及人工参与不在此文讨论范围)、赔付;角色划分:参保人。....bna文件,然后可以使用Composer Playground将bna部署到Hyperledger Fabric,并通过 Web页面测试业务逻辑。...如果你之前安装过Fabric或composer,请先删除,执行以下命令: docker ps -aq | xargs docker rm -f docker images -aq | xargs docker...rmi -f 2.执行以下命令部署composer,此脚本会部署好composer和fabric: curl -sSL https://hyperledger.github.io/composer/install-hlfv1...,你将看到如下输出: 回到浏览器页面http://localhost:8080,点击”Let’s Blockchian!”

    1.8K130

    Python远程连接服务器用它就够了

    本文我就将带大家学习在Python中使用非常强大的fabric库来对常用的远程服务器连接管理操作进行自动化: 2 使用fabric玩转远程服务器管理 fabric基于强大的paramiko、invoke...# 建议将ssh连接所需参数变量化 user = '用户名' host = 'host地址' password = '密码' # 利用fabric.Connection快捷创建连接 c = Connection...=True抑制run()过程对执行结果的自动打印 output = c.run('df -h', hide=True).stdout print(output) 获悉了fabric的基础使用后,接下来我们来学习一些进阶内容...设置sudo密码 除了上一种方式外,我们还可以使用fabric.Config在创建连接时就一次性提前配置好sudo密码,之后需要执行sudo命令时用sudo()方法代替run()方法即可: from fabric...pscp、xshell之类的工具手动进行服务器与本地之间的文件相互传输,这些任务我们同样可以在fabric中自动化进行: 2.3.1 从本地上传文件到服务器 使用put()方法可以将指定的本地文件上传至服务器的指定位置

    2K20
    领券