AWS弹性豆茎环境翻车机/提取器。

ebenv的Python项目详细描述


ebenv

CircleCIPyPI DownloadsPyPI Version AWS弹性豆茎环境提取器/实用程序

这是一个命令行实用程序,用于管理 AWS Elastic Beanstalk应用程序 环境,以便在本地重新使用相同的配置或导入 进入另一个环境。

目前支持两种提取方法,以及一种复制/同步方法 环境之间的变量:

环境

env以key=value格式转储环境变量,例如:

$ ebenv env app-name app-env-name
AWS_ACCESS_KEY_ID=abcdefghijklmnopqrstvwuxyz
BUGSNAG_API_KEY=deadbeefdeadbeefdeadbeef
PARAM1=value
PARAM2=value
...

$ ebenv env app-name app-env-name > envfile
$ docker run --rm -it --env-file=envfile app/name
...

环境目录

envdir将环境变量转储到envdir中,如以下工具所用 DJB的envdir,Runit的 chpst,或者其他克隆体之一, 示例:

$ ebenv envdir app-name app-env-name
found 4 vars, will write to '.env/*' [y/N]: n
Exiting..

envdir将在写入任何文件或创建目录之前提示,并且 可以指定--target_dir选项:

$ ebenv envdir app-name app-env-name --target_dir=.ebenv-copy
found 4 vars, will write to '.ebenv-copy/*' [y/N]: y
.ebenv-copy did not exists, creating

$ ls .ebenv-copy/
AWS_ACCESS_KEY_ID BUGSNAG_API_KEY   PARAM1            PARAM2

简单的grep可以验证env文件是否包含所需的数据:

$ grep . .ebenv-copy/*
.ebenv-copy/AWS_ACCESS_KEY_ID:abcdefghijklmnopqrstvwuxyz
.ebenv-copy/BUGSNAG_API_KEY:deadbeefdeadbeefdeadbeef
.ebenv-copy/PARAM1:value
.ebenv-copy/PARAM2:value

复制

copy从电子商务应用程序中的一个环境复制环境变量 到同一应用程序中的另一个环境。可以选择用于移除变量 在目标环境中,在源环境中找不到的。

$ ebenv copy app-name app-env-name new-app-env-name 
Source environment 'app-env-name'  has 22 options
Performing environment update...
Done, please check your EB web console to see the environment update progress

现在copy将覆盖目标环境中的任何值 在源环境中找到密钥。如果指定--remove选项, 它将删除源中未找到的目标环境中的任何密钥 环境。

$ ebenv copy app-name app-env-name new-app-env-name
Source environment 'app-env-name'  has 22 options
Will remove 2 options from destination environment 'new-app-env-name'
...

这个命令在这一点上有潜在的危险和破坏性, 尤其是当使用--remove时。小心使用。

设置

$ make
virtualenv venv
New python executable in /Users/ses/w/ebenv/venv/bin/python2.7
Also creating executable in /Users/ses/w/ebenv/venv/bin/python
Installing setuptools, pip, wheel...done.
venv/bin/python setup.py develop
...

现在ebenv已安装并可在本地venv中使用 通过激活virtualenv(source venv/bin/activate)或运行 它直接来自静脉:venv/bin/ebenv

依赖关系

ebenv依赖于boto3,并且依赖于boto3能够找到标准aws 凭据可以通过AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY环境变量 在本地shell中,或从~/.aws/(config|credentials)中。

未来

copy编写更多选项,提示 检测到更改,以允许更细粒度地复制变量。也许是 --dryrun切换以显示预期的三角洲。

其他有用的命令可能包括设置基于环境的 在一个env文件或envdir文件上,这两个基本上是相反的 现在实用程序中的命令。

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

推荐PyPI第三方库


热门话题
java在下面的多线程程序中出错   java获取com。jcraft。jsch。JSCHEException:通过TeamCity构建时身份验证失败   java在Spring+Hibernate中设置H2数据库而不使用XML文件会产生NullPointerException   java无法运行程序,权限被拒绝   设计方法:过程还是有大量数据的Java?   java sbt不支持的专业。在Jdk 1.7中执行时出现的小版本52.0错误   java随机(?)ElementNotVisibleException   java如何确定输入到文本字段中的时间是否在预先设定的两个打开和关闭时间范围内?   java Map reduce驱动程序代码不工作   Android java客户端突然停止   java J2ssh客户端经常断开连接   java动态标量子查询   java试图通过使用嵌套循环获取非重复数字。。(二维阵列)   使用java通知用户来自socket的新请求   java我们应该为DAO使用spring单例吗