AWS弹性豆茎环境翻车机/提取器。
ebenv的Python项目详细描述
ebenv
这是一个命令行实用程序,用于管理 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_ID
和AWS_SECRET_ACCESS_KEY
环境变量
在本地shell中,或从~/.aws/(config|credentials)
中。
未来
为copy
编写更多选项,提示
检测到更改,以允许更细粒度地复制变量。也许是
--dryrun
切换以显示预期的三角洲。
其他有用的命令可能包括设置基于环境的
在一个env
文件或envdir
文件上,这两个基本上是相反的
现在实用程序中的命令。