fabric相关内容

你如何使用 pip、virtualenv 和 Fabric 来处理部署?

您的设置、技巧以及最重要的工作流程是什么? 这些工具很棒,但它们的使用仍然没有最佳实践,所以我不知道使用它们的最有效方法是什么. 你使用 pip 包还是一直使用下载? 您是手动设置 Apache/Cherokee/MySQL 还是手动设置你有一个脚本吗? 您是否将所有内容都放在 virtualenv 中并使用 --no-site-packages? 您是否为多个项目使用一个 vi ..
发布时间:2021-12-26 23:39:42 Python

Django 的最佳 Fabric 脚本

用于部署典型 Django 项目的最佳库存 Fabric 脚本是什么?Fabric 看起来很不错,但似乎需要你从头开始,编写自己的部署脚本.来自 Capistrano,我想从一些其他人已经测试过的开箱即用的东西开始,而不是从头开始编写一个. 理想情况下,我想要一个同步数据库,使用 South 执行迁移,备份站点和数据库,并且可以回滚以前的部署. 解决方案 由于每个人的环境不同,大多数 ..
发布时间:2021-12-26 23:24:08 其他开发

使用结构切换到不同的用户

我最近开始研究用于远程部署的结构.我需要切换到一个 diff 用户(从我登录的那个用户)并且无法弄清楚.甚至有可能吗,如果有的话怎么办?我当前的用户没有 sudo 权限. 我尝试更改以下环境变量 env.sudo_prefix = "su newUser -c "env.sudo_prompt = "密码:" 但是fabric 不等待'newUser' 的密码输入并且失败. out: ..
发布时间:2021-12-26 23:22:02 Python

如何让 Fabric 自动(而不是用户交互)与 shell 命令交互?与 pexpect 结合?

寻求手段让 Fabric 自动(而不是用户交互地)与 shell 命令(而不仅仅是请求)交互用于密码,但在没有像 apt-get install -y 这样的“标准输入/交互式覆盖"可用时也要求用户输入). 这个问题以及这些.如果适用,为什么不在同一个程序/自动化中同时利用两者(pexpect 和 Fabric)? 解决方案 作为 Glenn,我会说使用 pexpect;此外, ..
发布时间:2021-12-26 23:15:19 Python

使用“su -l"执行命令;在 SSH 中使用 Python

我使用的朋友服务器只允许一个用户从 SSH 登录,所以通常我只是以该用户身份登录,然后执行 su -l myuser 更改帐户.我想使用 Python 自动化一些无聊的东西,但我遇到了问题.显然,我首先尝试的 Paramiko 模块为每个命令调用一个 shell,所以这是不可能的.后来我尝试使用 invoke_shell() 来克服这个问题,但它仍然失败(我认为这是因为更改用户也会更改 shell ..
发布时间:2021-12-23 22:55:12 服务器开发

如何使用特殊关键字作为结构函数名称?

如何使用这样的保留关键字来使结构功能正常? def not(* args):...... 这将引发“无效语法"错误.有什么方法可以覆盖特殊关键字并将其用作经典方法中的函数名称?我可以使用@task alias 来做到这一点,但是我所有其他功能都遵循经典方法. http://docs.fabfile.org/en/1.10/usage/tasks.html#task-decorator ..
发布时间:2021-05-06 20:03:52 Python

在Fabric中,如何从远程路径创建全局列表

要使用Python的 Fabric ,我想与远程计算机之间进行文件传输服务器. 我需要从诸如 * 或 *.txt 之类的全局表达式中生成要传输的文件列表(然后再应用一些其他排除项). 对于将传输到的情况,很容易遍历源文件列表,因为源是本地的: [在Path(local_dir).glob()中f为f 但是如何在远程服务器上执行此操作?我 ..
发布时间:2021-05-06 20:03:46 Python

织物1.0.0中的CPU使用率很高

在结构0.9中,一切正常运行,但是在1.0.0中,以下结构脚本在 top 中显示100%的CPU使用率: 来自fabric.api导入运行def test():运行(“睡眠1000") 我正在像这样运行文件: fab -H本地主机 为什么会这样? 解决方案 这是一个已知问题,有望在一两天内得到解决: http://code.fabfile.org/issues/show ..
发布时间:2021-05-06 20:03:43 Python

如何使用结构编辑主机名文件

我已经更改了主机文件,所以如何更改hostname.my系统是ubuntu. 例如我的主机文件: 192.168.0.100 host1.mydomain.com 192.168.0.101 host2.mydomain.com 我想将host1的/etc/hostname下的主机名文件命名为host1.mydomain.com,将host2的主机名文件命名为host2.mydomain ..
发布时间:2020-11-03 02:07:35 Python

Python结构响应输出中的提示

我要用python的结构解决两个问题. 我想在提示符下自动输入密码: 织物密码 我想根据会话的输出自动响应提示: 如何使用python Fabric自动回答提示? /a> 以上链接所示,这两种方法都应该可行,但我无法使它们正常工作.当我通过fab test 运行以下文件时 from fabric.api import run, env, settings env.hos ..
发布时间:2020-11-03 02:07:26 Python

尝试使用Fabric将git存储库检出到子目录

我正在使用Fabric来自动创建分支.我的问题是在调用函数之前我不知道分支名称,并且fabric无法与cd一起使用. 如何告诉git目标目录要低一级? Fabfile: def new_branch(branch_name): local('mkdir ' + branch_name) local('git clone /var/www/finance ' + b ..
发布时间:2020-11-03 02:07:24 其他开发

结构不使用SSH密钥

可能重复: 将SSH密钥文件与Fabric结合使用 在我的寓言中 env.ip = 'x.x.x.x' env.hosts = [env.ip] env.user = 'root' env.environment = 'production' 我有这样的配置,但是当我尝试使用run(command)执行某些操作时,它提示我输入root的密码,为什么? 在我的本机Term ..
发布时间:2020-11-03 02:06:22 其他开发

python fabric多个命令

我试图了解结构如何在一台机器上使用多个命令. 我需要在每个主机(数千个主机)上运行几个命令,并想知道什么是最好的. 使用多次运行: res_1 = run(command_1) res_2 = run(command_2) ... ... res_n = run(command_n) 或者: res = run(command_1 && command_2 && ... co ..
发布时间:2020-11-03 02:05:18 Python

织物2.3并行执行sudo命令

我正在尝试使用Fabric 2.3在一些服务器上运行一些需要sudo的任务.我的主要目的是使操作并行化,因此我想到了使用Fabric API的ThreadingGroup类,但它不支持sudo. 为了清楚起见,下面是我的代码 #!/usr/bin/env python from fabric import ThreadingGroup, Config from getpass imp ..
发布时间:2020-11-03 02:05:15 Python

结构:为显式主机调用run()

我想使用Fabric作为一种工具来收集所有服务器负载并随后处理值,我想到了这样的东西: from fabric.api import run for servername in servernames: load_str = run('cat /proc/loadavg | cut -d' ' -f1', host=servername) 但是结构不允许我这样指定主机名,我发现 ..
发布时间:2020-11-03 02:05:11 其他开发

结构全局设置环境变量

我正在编写一个fabfile,我想为我用于开发的virtualenv包括一个环境变量.我不想放 with shell_env(venv=VIRTUALENV): ... 每个函数中的 .我希望能够在文件的开头添加此代码,并将其应用于全局所有任务.有办法吗? 例如,我有任务 def setup_dev_env(): with shell_env(venv=VI ..
发布时间:2020-11-03 02:05:04 Python

Fabric-如何在远程计算机上使用交互式外壳?

我正在尝试使用Fabric在远程计算机上运行命令. 这可以正常工作,直到远程计算机上的命令是交互式的为止.在这种情况下,Fabric返回了交互式外壳程序,但是当我尝试发送一个可以远程执行所有操作的命令时,迫使我键入所需的信息,所以我可以使该过程自动化. 示例: from fabric.api import * env.hosts=['myhost.mydomain'] env.u ..
发布时间:2020-11-03 02:05:03 Python