Gilliam的命令行客户端

gilliam-cli的Python项目详细描述


#Gilliam命令行界面是一个用于构建和运行分布式系统的软件平台。


这是一个命令行工具,用于控制在Gilliam平台上运行的服务。




rably in a virtualenv)直接从
存储库:

$pip install git+https://github.com/gilliam/gilliam cli.git

这个命令叫做"gilliam"。

它可以是一些业务逻辑、缓存或数据库。服务分组为
*信息*。环境形式的代码和配置
变量合并到一个*版本*。*
服务的实例*可以从发布中创建。所有的东西都生活在一个*stage*,
这是gilliam安装的另一个词。


在本快速入门中,我们将使用一个小的python示例来展示客户端的一些命令。首先,我们需要克隆示例代码:


$git clone git+https://github.com/gilliam/python example.git
$cd python example




"gilliam.yml"文件指定了一组服务,这些服务是formation
需要公开的功能。在上面的文件中,只包含一个名为"www"的进程。"script"告诉我们,当服务启动时,应该执行命令"python web.py"。` ports`指定
服务可以接收传入请求的端口。

gilliam提供了一整套不同的服务类型。服务的类型
始终可以用"type"字段指定。但是,您也可以让它告诉gilliam以确定类型;然后将从服务名称及其定义中推断出类型。


返回示例。


若要为示例创建一个组,请发出以下命令:

$gilliam--stage myapp prod create p在这个示例中,我们指定"-stage myapp prod"告诉客户在"myapp prod"阶段(我的
应用程序的生产环境)中创建
信息。

*注意*:这个快速进入不考虑如何创建阶段


构建和部署:

$gilliam deploy
开始构建服务"www"…
|清理…
如果您执行
`gilliam cli releases`:


$gilliam releases
name author消息
---------
1 jrydberg none


gilliam允许在在同时运行多个版本中的实例之前。这允许您使用canary测试构建复杂的构建管道。

因此,让我们这样做:

$gilliam scale-r1 www=1
$


这将创建"www"服务的实例,并将其分派给其中一个执行者。运行"gilliam cli ps"以检查实例:

$gilliam cli ps
名称释放状态
运行
-
www.bhcrbmebfg4ozugix95chh 1以便能够从在外面,我们需要设置一条路径:

$gilliam cli route/example/www.example.service
route 5h7zf9p3odgiupf3opwdzp created

这是什么意思?这意味着路由器上的`/example/`无论域是什么,都将把请求路由到示例服务。


routes可以通过发出`routes`命令列出:


$gilliam cli route
name domain path target
--————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————它需要从
"project dir"发出,该目录是您的"gilliam.yml"文件
所在的目录。通常,这是项目的根目录。

$gilliam--stage prod create name of formation

这里是生产环境。

释放的CES。

(修复时间:默认为最新版本,或以某种方式设置为所有版本?)



包含需要匹配的域名:


$gilliam route api.myapp.com/example/w w w.example.service

route参数接受使用{var}语法的变量匹配,
如下:

$gilliam route/user/{user}www.user.service/{user}

ant若要为变量指定特定格式,请在
冒号之后执行此操作,例如:`{name:regex}`。例如`{rest:.*?}`将
匹配行的其余部分,如果要将
所有内容发送到特定服务,这将非常有用。


$gilliam route/user/{rest:*?}www.user.service/{rest}

请注意,在域上也可以进行变量匹配:

$gilliam route{acct}.api.myapp.com/user/{rest:*?}api.user.service/{acct}/{rest}

}api.user-{acct}.service/{rest}

-——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
从图像中提取java孟加拉语文本[可能包含孟加拉语和英语]   使用jacksonjava将JSON转换为POJO作为对象类   java将存储在google云上的数据内容查看到前端应用程序,而不是下载名为blob的文件   在Java中使用多级HashMap的最佳实践   Clojure中的java链接向量元素   java为什么我在Android中试图从字符串中解析整数时会遇到NumberFormatException?   排序如何按值对Java映射进行排序,如果值是,则按键排序   java算法生成一个集合到另一个集合的所有可能(无序)赋值   java Selenium Webdriver HtmlUnitDriver:UnreachableBrowserException   如何在java中使用CPLEX输入3个索引参数的数据?   安卓 java文件中的这些数字是什么?   java是Cassandra最不受压缩OOPS问题影响的吗?   java中问答应用程序解决方案活动中的安卓 studio错误?   java Hibernate验证程序NotEmpty修剪问题