将Fabric与ploy集成的插件。
项目描述
概述
The ploy_fabric plugin provides integration of Fabric with ploy.
安装
ploy_fabric最好通过easy_install、pip或buildout中的zc.recipe.egg安装。
安装后,其功能可以立即与ploy一起使用。
命令
该插件为ploy添加了以下命令。
- do
使用简化的参数语法运行Fabric任务。只需在任务名称后面将位置参数放在命令行上即可。对于关键字参数,请使用name=value语法。例如
ploy do something arg key=value
- fab
运行Fabric任务并将命令行选项传递给Fabric。这基本上反映了Fabric的fab脚本。
选项
实例仅获得新的fabfile选项来指定查找任务的文件。位置相对于ploy.conf。
实例方法
对于Python端,每个实例都获得了 do(task, *args, **kwargs) 方法。其中 task 参数是要运行的 Fabric 脚本中任务的名称。其余参数将传递给该任务。
每个实例还增加了一个可以通过实例上的 fabric 属性访问的上下文管理器。使用它,您可以在 Fabric 任务中切换到具有不同用户的新的 ssh 连接。
from fabric.api import env, run
def sometask():
run("whoami") # prints the default user (root)
with env.instance.fabric(user='foo'):
run("whoami") # prints 'foo' if the connection worked
run("whoami") # prints the default user (root)
上下文管理器退出时,将撤销对 Fabric 环境的所有更改。
Fabric 任务装饰器
通过 ploy_fabric.context,您可以装饰一个任务以使用具有单独连接的特定用户。上下文管理器退出时,将撤销对 Fabric 环境的所有更改。如果您想在另一个任务内部运行一个任务,这非常有用。
from fabric.api import env, run
from ploy_fabric import context
@context # always run with the default user
def sometask():
run("whoami") # prints the default user (root)
@context(user=None) # always run with the default user (alternate syntax)
def someothertask():
env.forward_agent = True
run("whoami") # prints the default user (root)
@context(user='foo') # always run as foo user
def anothertask():
env.forward_agent = False
run("whoami") # prints the default user (user)
someothertask()
assert env.forward_agent == False
Fabric 环境
Fabric 环境具有以下默认设置。
- reject_unknown_hosts
始终设置为 True,ssh 连接由该插件和 ploy 处理。
- disable_known_hosts
始终设置为 True,由 ploy 处理。
- host_string
当前实例的唯一 标识符,只有当您知道自己在做什么时才进行操作!
- known_hosts
ploy 管理的 known_hosts 文件的路径。
- instances
允许访问其他实例以获取变量或调用方法的字典。
- instance
当前实例,可以访问 config 属性中的变量或其他东西和方法。
- config_base
ploy.conf 的目录。
以 fabric- 开头的实例任何选项都将移除 fabric- 前缀,并覆盖具有该名称的环境设置。
变更日志
2.0.0 - 2022-08-17
放弃对 Python < 3.7 的支持。[fschulze]
增加对 Python 3.10 的支持。[fschulze]
2.0.0b2 - 2019-06-09
限制 Fabric < 2dev。[fschulze]
放弃对 Python 3.4 的支持。[fschulze]
2.0.0b1 - 2018-02-07
通过 Fabric3 支持 Python 3.x。[fschulze]
支持 ploy 2.0.0。[fschulze]
1.1.1 - 2018-06-07
更新需求以阻止 Fabric >= 2,因为它不兼容。[fschulze]
1.1.0 - 2014-10-27
要求 Fabric >= 1.4.0,并极大地简化了必要的修补。[fschulze]
在 Fabric 调用后关闭所有新打开的连接。[fschulze]
添加上下文管理器和装饰器,以便轻松切换 fabric 连接。[fschulze]
1.0.0 - 2014-07-19
添加文档。[fschulze]
1.0b6 - 2014-07-15
允许使用以 fabric- 为前缀的选项覆盖 fabric 环境配置,例如 fabric-shell = /bin/sh -c。[fschulze]
1.0b5 - 2014-07-08
打包和测试修复。[fschulze]
修复了 do 命令的任务列表。[fschulze]
1.0b4 - 2014-07-04
使用主机字符串的唯一标识符以避免问题。[fschulze]
添加了 fab 命令,该命令只是 Fabric 的包装,具有所有选项,并重写了 do 命令为仅运行任务的简单版本。[fschulze]
将 mr.awsome 重命名为 ploy,将 mr.awsome.fabric 重命名为 ploy_fabric。[fschulze]
1.0b3 - 2014-06-09
当依赖于 Fabric 时,跳过 1.8.3,因为它在 paramiko 上添加了版本限制。[fschulze]
只有当无法导入 Fabric 时才将其添加到 install_requires 中。这样,我们就不必担心它作为系统包或虚拟环境中的包已经安装。[fschulze]
1.0b2 - 2014-05-15
为所有实例注册 fabfile 调整器。[fschulze]
在 do 辅助程序中使用上下文管理器进行输出过滤。[fschulze]
已将setuptools-git从setup.py移至.travis.yml,它仅适用于发布和测试。[fschulze]
1.0b1 - 2014-03-24
初始发布 [fschulze]
项目详情
ploy_fabric-2.0.0.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dd006b4c34cc0640f4dd60ce88c6258ce7130892394e6894192ac4c61fbcdc38 |
|
MD5 | 24296e5c01a222d780e23f5df102b5d7 |
|
BLAKE2b-256 | 0b90ab7e113e0299284875c4e55c61427ef0b32913e73243421e195a7726c924 |
ploy_fabric-2.0.0-py2.py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bebf604fb23573d6e28e3ebfbd555aca4353a24973d21fd85110d40e8b141551 |
|
MD5 | 6a9235f53183342a9388cf729dab5638 |
|
BLAKE2b-256 | 467c8a0b5bb2321f7de2273aefad5345d18c1d6af48563a27001ac3170056183 |