rest客户端在gestus服务上检索和推送数据
Gestus-client的Python项目详细描述
gestus client是在Gestus应用程序上检索和推送数据的rest客户端。它目前只在buildout项目中使用eggs安装。
安装
需要
- nap>;=1.0.0;
- pkginfo=1.2b1;
- argparse==1.2.1;
- argcomplete==0.8.0;
- argh==0.24.1;
此外,此客户机还依赖于来自distribute的pkg_resources,但distribute未注册到setup.py中所需的包中,因为它嵌入在系统上安装的所有nt-allready的pip中。因此,如果脚本抱怨要导入pkg_resources,则必须安装pip或distribute。
PIP版本
nap需要PIP >= 1.4。如果在安装过程中出现类似的异常,则必须对其进行更新:
AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex' An error occurred when trying to install nap 1.0.1. Look above this message for any errors that were output by easy_install. While: Installing eggedpy. Getting distribution for 'nap>=1.0.0'. Error: Couldn't install: nap 1.0.1
解决此问题的最简单方法是简单地将虚拟环境中的pip更新到最新版本:
pip install --upgrade pip
用法
客户端可以注册新的网站环境或更新现有的环境。在register或update操作期间,如果提供了eggs目录,则将扫描该目录以搜索已安装的eggs,并将已找到的eggs的列表发送到服务。
可以从命令行参数或配置文件设置网站环境的数据。如果使用配置文件,它将用于填充要发送的默认数据,您可以使用命令行参数覆盖它们。
因此,如果在配置文件中将user选项设置为ping,并在命令行参数中将此选项设置为pong,则使用的值将为pong。
配置
客户机可以直接使用,但是您应该在项目中创建一个gestus.cfg文件,以避免在命令行中放置参数。
文件格式类似于*.INIfile,下面是一个完整的示例:
[Gestus] user = your username password = your password host = service url name = website name url = environment url env = environment name eggs = eggs directory server = website hostname
可用选项有:
- user:连接到服务的用户名;
- 密码:连接到服务的密码;
- host:服务的url(http/http s);
- name:网站项目名称;
- url:试图发布项目的环境url;
- env:环境种类名称(integration或production);
- eggs:要扫描的eggs目录的路径;
- server:网站主机名;
所有选项都可以注册新环境。但是为了更新现有的环境,你至少需要两个额外的选项:
- website_id=已在gestus服务上注册的网站id;
- environment_id=已在gestus服务中注册的环境id;
您不必真正关心这些选项,因为它们将自动检索并存储在第一个寄存器中。
配置保存
注意,配置文件会在注册或更新操作结束时自动保存,您可以使用passive参数禁用它:
gestus --passive
否则,默认行为是在当前目录中保存一个gestus.cfg文件,您可以使用config参数设置另一个文件名和路径:
gestus --config /home/foo/bar/my-gestus-config.cfg
因此,如果在一个项目中有多个站点需要支持,则总是为每个站点使用特定的配置文件。
注册新的网站环境
这只会注册一个新的环境,不能从这个命令更新一个现有的网站环境数据。gestus register
如果网站环境已经存在,则注册命令将获取其数据并保存在配置文件中,然后再次发送E。gg list,这是唯一可以从这个命令更新的东西。
如果不存在,它将创建它,然后发送鸡蛋列表并将返回的数据保存在配置文件中。
警告:您必须保持鸡蛋的干净安装,gestus客户端将确保始终使用同一软件包的最后一个鸡蛋版本,因此,如果您为某些测试安装了最后一个版本,并且由于任何原因返回到上一个版本,客户机甚至会注册最后一个,因为它不知道你有效使用的那个。因此,在您的环境中进行一些包测试时,请注意这一点并清理已安装的鸡蛋。