问题标签 [fabric]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 通过 Fabric 使用密钥对(.pem 文件)连接到 EC2
任何人都有任何显示如何使用 pem 文件连接到 EC2 的 Fabric 配方?
我尝试用这种方式编写它: Python Fabric run command returns "binascii.Error: Incorrect padding"
但是当我执行该run()
函数时,我遇到了一些编码问题。
python - 将 local() 的输出通过管道传输到 Fabric 中远程 run() 命令的标准输入的最佳方法?
有没有一种简单的方法可以将本地命令的输出通过管道传输到远程命令(反之亦然)?
我一直只是通过管道传输到一个文件,将文件移过来,然后读取它……但似乎有更简单的方法。
对于更简单的情况,只需捕获输出并使用字符串插值即可:
但是,当输出需要转义以在命令行上安全和/或需要来自标准输入时,这就有点棘手了。
如果输出是 bash 安全的,那么类似的东西run('echo "%s" | mycmd' % ip)
会做我正在寻找的东西(我猜这意味着一个等效的问题是“是否有一种简单的方法来 bash-escape 字符串?”),但它似乎在那里应该是提供远程标准输入的“正确方法”。
编辑:
为了澄清 long-ish 输入,简单的字符串轮询存在许多潜在问题:经典的 shell 问题(例如,输出可能"; rm -rf /
包含)。
我认为只是做run("echo '%s' | cmd" % output.replace("'", "'\\''")
应该有效,但可能会遗漏一些边缘情况。
正如我上面提到的,这似乎是织物可以通过直接向 run() 的标准输入发送一个字符串来为我更优雅地处理的类型(尽管我可能只是被它如此优雅地处理其他所有事情所宠坏了: )
python - 我可以使用 Fabric 执行交互式 shell 命令吗?
我正在尝试使用fabric来安装和部署一个Web 项目,在此期间我需要创建一个postgresql 数据库并配置一个RabbitMQ 服务器。这两个操作都是交互式的,需要用户输入来创建数据库、添加用户、设置密码等(至少据我所知)。
我可以使用结构脚本来执行这样的交互式 shell 操作吗?
ssh - Fabric 通过反向 SSH 隧道
在反向 SSH 隧道上运行 Fabric 有技巧吗?一个交互式的ssh
连接很好,但是在运行fab
时,我只是被反复询问我的密码。
python - Python Fabric 给出:致命错误:没有现有会话
我从文档中有以下简单的 fabfile.py:
我尝试使用以下方法运行它:
但得到错误:
我可以通过 ssh 进入 192.168.0.201。
有任何想法吗?
python - 为什么结构报告“未找到主机”?
晶圆厂测试,晶圆厂测试1 - 一切正常
晶圆厂部署:
未找到主机。请指定(单个)主机字符串进行连接:
为什么 ?
python - Fabric 1.0.0 中的高 CPU 使用率
在结构 0.9 中,一切运行正常,但在 1.0.0 中,以下结构脚本显示 CPU 使用率为 100% top
:
我正在运行这样的文件:
为什么会这样?
django - 使用结构运行 django 测试
我有一个结构脚本,它试图为我编写的应用程序运行测试。
它已经使用 setup.py 安装,我可以导入它。
我正在按照我在这里找到的脚本。
我的问题是 django-admin 找不到我的应用程序:
回溯(最后一次调用):
文件“/usr/local/lib/python2.6/dist-packages/fabric/main.py”,第 542 行,在主要命令 [name](*args, **kwargs) 文件中“/usr/local/lib/python2.6/dist-packages/envconf/fabfile.py”,第 35 行,在测试 management.call_command('test', 'envconf') 文件“/usr/local/lib/python2 .6/dist-packages/django/core/management/ init .py”,第 166 行,在 call_command 返回 klass.execute(*args, **defaults) 文件“/usr/local/lib/python2.6/dist- packages/django/core/management/base.py”,第 220 行,在执行输出 = self.handle(*args, **options) 文件“/usr/local/lib/python2.6/dist-packages/django/ core/management/commands/test.py",第 37 行,在句柄故障 = test_runner。运行测试(测试标签)
文件“/usr/local/lib/python2.6/dist-packages/django/test/simple.py”,第 395 行,在 run_tests 套件 = self.build_suite(test_labels, extra_tests) 文件“/usr/local/lib/ python2.6/dist-packages/django/test/simple.py”,第 285 行,在 build_suite app = get_app(label) 文件“/usr/local/lib/python2.6/dist-packages/django/db/models /loading.py",第 140 行,在 get_app raise ImproperlyConfigured("App with label %s could not be found" % app_label) django.core.exceptions.ImproperlyConfigured: App with label envconf could not be found
这是我的代码: import functools import os
有什么问题?
python - 如何使用 Fabric 将目录复制到远程计算机?
我的本地机器上有一个目录,我想使用 Fabric 将其复制到远程机器(并重命名)。我知道我可以使用 复制文件put()
,但是目录呢?我知道使用scp很容易,但如果可能的话,我更愿意在我的内部fabfile.py
进行。
python - fabric.api.run 将 stderr 转换为 SSH 的 stdout
我使用结构在服务器上运行编译,服务器是 Linux,客户端是 Windows,通道是 SSH。
- 在服务器 'scons' 上将编译错误打印到 stderr。没关系。
- 但是从客户端执行的 fabric.api.run('scons') 会将编译错误打印到 STDOUT。这不好,因此我的 IDE 无法检测到它们。