Fabric: Fabric 2 - 在组上执行任务(带参数)

创建于 2017-12-08  ·  5评论  ·  资料来源: fabric/fabric

我有一个有论据的任务。 我想在一组主机上运行这个任务,根据主机的不同,任务的参数不同,从另一个 Python 脚本中。

execute的注释说按照教程实现它。 我可以得到这个教程的链接吗? 如果我让它工作/让它与正在传递的参数一起工作,这会是一个受欢迎的拉取请求吗?

Feature Group

最有用的评论

Fabric2非常需要此功能。 知道什么时候合并吗?

所有5条评论

我认为这是最接近 Fabric 2 教程的内容: http :

我想在一组主机上运行这个任务,根据主机的不同,任务的参数不同,从另一个 Python 脚本中。

不知道您的确切用例,并注意到 Group 还没有得到很好的充实(重点一直是让 Connection 处于良好状态),我会指出,_到目前为止_,Group 被认为是一种便利/包装 API只是 - 这是“我给你一个主机名列表和要做的事情,你为我做这件事,而我不必编写自己的循环”的常见情况。

对于更复杂的事情,想法是在适合您的用例(迭代等)的任何 Python 构造中使用手动实例化的 Connections 自己完成它应该仍然很容易。所以在这种情况下,您将拥有一个“元”执行类似for hostname, kwargs in my_map_of_hostnames_to_kwargs.items(): othertask(Connection(hostname), **kwargs)

(这仍然留下 pyinvoke/invoke#170,或者不太可能,#4,但现在这两个都是可行的。)

如果您提供有关用例的详细信息,也许我们中的一个人可以进一步详细说明。


回复:教程:是的,“入门”页面是教程,假装了解 Group.execute 的具体位是http://docs.fabfile.org/en/v2/getting_started.html#bringing -it-all -together - 但如上所述,这种行为还没有真正考虑过!

非常感谢您提供此 v2 教程。 我在 GitHub 上找到了它的来源,但忽略了阅读它。

cxn = Connection(host)是我遗漏的关键部分; 我发现的教程部分没有提到 cxn 是什么,而且我没有深入挖掘它只是一个连接。

当我使用 Fabric3 端口发布此代码时,我已经编写了我需要的代码,但是一旦它在 PyPi 上,我就会转向 v2。 谢谢你们的时间!

编辑:如果您在此处的自述文件中添加了该 v2 教程的链接,它可能会对未来的潜在用户有所帮助。 我会提出请求,但这对于单行更改来说似乎有点多:p

不能从fabric.json配置文件中自动加载host而不是将其传递给命令行上的-D参数吗?

Fabric2非常需要此功能。 知道什么时候合并吗?

此页面是否有帮助?
0 / 5 - 0 等级