python Fabric是否支持动态设置env.hosts?

2024-01-10

我想动态更改 env.hosts,因为有时我想先部署到一台机器,检查是否正常,然后部署到多台机器。 目前我需要先设置 env.hosts,如何在方法中设置 env.hosts 而不是在脚本启动时全局设置?


是的,你可以设置env.hosts动态地。我们使用的一种常见模式是:

from fabric.api import env

def staging():
    env.hosts = ['XXX.XXX.XXX.XXX', ]

def production():
    env.hosts = ['YYY.YYY.YYY.YYY', 'ZZZ.ZZZ.ZZZ.ZZZ', ]

def deploy():
   # Do something...

您可以使用它来链接任务,例如fab staging deploy or fab production deploy.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python Fabric是否支持动态设置env.hosts? 的相关文章

  • 使用单个文件的 Python 日志记录(函数名、文件名、行号)

    我正在尝试了解应用程序的工作原理 为此 我将调试命令插入作为每个函数主体的第一行 目的是记录函数的名称以及向日志输出发送消息的行号 代码内 最后 由于这个应用程序由许多文件组成 我想创建一个日志文件 以便我可以更好地理解应用程序的控制流 这
  • 安装tensorflow的正确命令

    当尝试在 Anaconda 上安装 Tensorflow 时 我尝试了两种类型的命令 conda install tensorflow gpu工作得很好 然而 当尝试conda install c anaconda tensorflow g
  • 如何更改默认的Python版本?

    我已经在我的 Mac 上安装了 Python 3 2 我跑完之后 Applications Python 3 2 Update Shell Profile command 当我输入时 这很令人困惑Python V在终端它说Python 2
  • 为什么 pandas 在简单的数学运算上比 numpy 更快?

    最近 我观察到 pandas 的乘法速度更快 我在下面的例子中向您展示了这一点 如此简单的操作怎么可能做到这一点 这怎么可能呢 pandas 数据帧中的底层数据容器是 numpy 数组 测量 我使用形状为 10k 10k 的数组 数据框 i
  • 在推送到容器注册表之前如何对构建的映像运行测试?

    从 gitlab 文档中可以看出如何使用 kaniko 创建 docker 镜像 build stage build image name gcr io kaniko project executor debug entrypoint sc
  • 计算熊猫数据帧几个月的总和

    我有一个 pandas 数据框 如下所示 ID Year R1 R1 f KAR1 20201001 1 5 KAR1 20201101 2 6 KAR1 20201201 3 7 KAR1 20210101 4 8 KAR1 202102
  • 如何将脚本作为 pytest 测试运行

    假设我有一个用简单脚本表示的测试assert 陈述 请参阅背景了解原因 例如 import foo assert foo 3 4 我如何以一种好的方式将该脚本包含在我的 pytest 测试套件中 我尝试了两种有效但不太好的方法 一种方法是将
  • 将多索引转换为行式多维 NumPy 数组。

    假设我有一个类似于以下示例的 MultiIndex DataFrame多索引文档 http pandas pydata org pandas docs stable advanced html gt gt gt df 0 1 2 3 fir
  • 样本()和r样本()有什么区别?

    当我从 PyTorch 中的发行版中采样时 两者sample and rsample似乎给出了类似的结果 import torch seaborn as sns x torch distributions Normal torch tens
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • 同一台机器上有多个Python版本?

    Python 网站上是否有关于如何在 Linux 上的同一台计算机上安装和运行多个版本的 Python 的官方文档 我可以找到无数的博客文章和答案 但我想知道是否有 标准 官方方法可以做到这一点 或者这一切都取决于操作系统 我认为它是完全独
  • 导入目录下的所有模块

    有没有办法导入当前目录中的所有模块 并返回它们的列表 例如 对于包含以下内容的目录 mod py mod2 py mod3 py 它会给你
  • 我可以在 if 语句中使用“as”机制吗

    是否可以使用as in if类似的声明with我们使用的 例如 with open tmp foo r as ofile do something with ofile 这是我的代码 def my list rtrn lst True if
  • 如何在 Python 中跟踪日志文件?

    我想在 Python 中提供 tail F 或类似内容的输出 而无需阻塞或锁定 我找到了一些非常旧的代码来做到这一点here http code activestate com recipes 436477 filetailpy 但我认为现
  • 无法将matplotlib安装到pycharm

    我最近开始使用Python速成课程学习Python编程 我陷入困境 因为我无法让 matplotlib 在 pycharm 中工作 我已经安装了pip 我已经通过命令提示符使用 pip 安装了 matplotlib 现在 当我打开 pych
  • 有没有办法拉伸整个显示图像以适应给定的分辨率?

    我最近一直在使用pygame制作游戏 遇到了一个小问题 基本上 我希望能够将屏幕上的整个图像 我已经传输到它的所有内容 拉伸到用户将窗口大小调整到的分辨率 我在 pygame 和堆栈溢出的文档中搜索了很多 但我似乎找不到答案 这可能吗 我的
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr
  • 如何使用logging.conf文件使用RotatingFileHandler将所有内容记录到文件中?

    我正在尝试使用RotatingHandler用于 Python 中的日志记录目的 我将备份文件保留为 500 个 这意味着我猜它将创建最多 500 个文件 并且我设置的大小是 2000 字节 不确定建议的大小限制是多少 如果我运行下面的代码
  • 正则表达式 - 匹配不包含字符串的模式

    我对正则表达式很陌生 并且一直在寻找方法来做到这一点 但没有成功 给定一个字符串 我想删除以 abc 开头 以 abc 结尾且中间不包含 abc 的任何模式 如果我做 abc abc abc 它将匹配以 b 开头 以 abc 结尾并且中间包
  • 防止 Ada DLL 中的名称损坏

    有没有一种简单的方法可以防止在创建 Ada DLL 时 Ada 名称被破坏 这是我的 adb 代码 with Ada Text IO package body testDLL is procedure Print Call is begin

随机推荐

  • 如何从 KSOAP2 Android 中 SOAP 的 PropertyInfo 中删除 i:type="d:string"

    我正在使用 ksoap2 android assembly 3 0 0 jar with dependency jar 我正在开展一个项目 我需要以下肥皂请求
  • 如何消除大尺寸java swing标签中的间隙

    在我的应用程序中 我有一个字体大小超过 200 的标签 该标签包含大的上下 不规则 间隙 我怎样才能删除它 这是我的代码 package Core import java awt Font import java awt GridBagCo
  • 为什么人们似乎暗示我宁愿不使用 Boost? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常在这里看到关于 boost 的注释 例如 如果您可以使用 Boost or 如果你可以使用Boost 我想知道 这是怎么回事 我应该厌倦什
  • Google 云存储 - 签名网址 - 一次性访问

    我们计划使用 Google 云存储以及可以提供给用户的签名 URL 所以我们上传一个文档 生成签名的 url 使用此处提到的详细信息 https developers google com storage docs accesscontro
  • 基类和派生类中的依赖注入

    我有一个抽象的控制器基类 所有操作控制器都派生自它 基本控制器类在构造时初始化视图对象 所有动作控制器都使用此 View 对象 每个动作控制器都有不同的依赖关系 这是通过使用 DI 容器来解决的 问题是控制器基类还需要一些依赖项 或参数 例
  • 如何找出运算符“+”的类型?

    在 GHCi 版本 8 6 3 中 https repl it languages haskell https repl it languages haskell 我想知道如何找出运算符 的类型 我想看看它的类型是否是num a b c g
  • RSA:使用扩展欧几里得算法计算私钥

    我是一名高中生 正在写一篇关于 RSA 的论文 我正在用一些非常小的素数做一个例子 我了解系统的工作原理 但我一生都无法使用扩展欧几里得算法来计算私钥 这是我到目前为止所做的 我选择了质数 p 37 q 89 计算出 N 3293 我计算了
  • 在我的 Android 应用程序中禁用屏幕截图

    我有我当前的 Android 应用程序不允许用户截屏 我在用 getWindow setFlags LayoutParams FLAG SECURE LayoutParams FLAG SECURE 在我的 onCreate 方法中并且工作
  • 使用 OpenGL 的 2D 示例 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个非常简单的教程 仅使用 OpenGL 进行 2D 绘图 我的问题是我想用 OpenGL 绘
  • 陷入构建 MySQL 查询的困境

    给出一个表的例子 id item id user id bid price 任务是选择rows with minimum bid price对于每个item id在提供的集合中 例如 item id 1 2 3 所以我需要选择最多三 3 行
  • 计算列表中元素出现次数的Pythonic方法是什么?

    这就是我所做的 python 有更好的方法吗 for k in a list if kvMap has key k kvMap k kvMap k 1 else kvMap k 1 Thanks 使用默认字典 from collection
  • 如何找到这个堆栈跟踪?

    我的程序一直崩溃 但是logcat没有显示任何异常 我刚刚收到以下消息 以及大量有关 CPU 使用情况的统计信息 显然我使用了太多的 CPU 但我不知道我的程序的哪一部分正在执行此操作 下面的文件在哪里 我找不到它 12 30 23 13
  • 整数的布尔运算[重复]

    这个问题在这里已经有答案了 这可能是非常基本的 但我似乎不明白 如何 2 1 0 3 1 1 4 1 0 etc 上面的这个模式似乎有助于找到偶数 or 0 1 1 1 1 1 2 1 3 3 1 4 4 1 5 5 1 5 我知道布尔代数
  • 为什么人们在 C++ 中的头文件名中不使用大写字母?

    我想知道为什么人们不在头文件名称中使用大写字母 我看到许多头文件的名称仅是小写的 但我认为如果他们用大写字母写 比如 BaseClass h SubClass h 而不是 baseclass h subclass h 会更容易阅读 这是为什
  • Django - 更改内联表单集文本输入大小属性

    我有一个内联表单集 只有三个字段 class Estimate Product Details models Model proposalID models ForeignKey Estimate Construction verbose
  • v11.4.2 中的 FirebaseAuth signInWithEmailAndPassword() 没有响应

    我已升级到 Firebase Android 库 v11 4 2 以便在我的 Android 应用程序上试用 Firestore 但是 当我尝试使用 FirebaseAuth 通过 signInWithEmailAndPassword 登录
  • 如何使用 iOS 应用程序在 iPad/iPhone 中打开 PDF 文件?

    如何使用我自己的应用程序打开存储在 iPad iPhone 中的 PDF 文件 您可以使用 UIwebview 来加载它 这很简单 如果您想要更大的灵活性 您应该使用 Quartz 框架类 EDIT 要查看下载的 PDF 您可以在应用程序中
  • SubSonic 3 和 MySQL,在 CleanUp() 方法中从列名中删除下划线会导致在 linq-query 中使用属性时出现异常

    我在使用 SubSonic 3 0 0 3 ActiveRecord 和 MySQL 时遇到了问题 由于 MySQL 不允许您在表名或列名中使用大写字母 或者如果您这样做 则忽略它 我决定使用下划线分隔单词 例如entity id 然后使用
  • 如何将一个数字分成n组

    我需要将一个数字分成几组数字 然后将这些数字放入一个数组中 然后我将对这些数字进行一些简单的数学运算 然后将它们插入到文本框中 到目前为止 我只找到了如何将数字拆分为单独的数字 如下所示 var number 12354987 output
  • python Fabric是否支持动态设置env.hosts?

    我想动态更改 env hosts 因为有时我想先部署到一台机器 检查是否正常 然后部署到多台机器 目前我需要先设置 env hosts 如何在方法中设置 env hosts 而不是在脚本启动时全局设置 是的 你可以设置env hosts动态