创建.env文件的实用工具
项目描述
A utility tool to create .env
files
dump-env
takes an .env.template
file and some optional environmental variables to create a new .env
file from these two sources. No external dependencies are used.
为什么?
为什么我们需要这样的工具?这个工具在CI构建docker
(或其他)镜像时非常有用。 以前 我们有一些加密和解密文件、导入密钥等复杂的逻辑。现在我们只需为CI创建一些秘密变量,给它加一些前缀,然后使用dump-env
来使我们的生活更轻松。
安装
$ pip install dump-env
快速入门
这个快速演示将展示dump-env
的主要和唯一目的
$ dump-env --template=.env.template --prefix='SECRET_ENV_' > .env
此命令将
- 接受
.env.template
- 解析其键和值
- 从以
SECRET_ENV_
开头的环境变量中读取所有变量 - 删除此前缀
- 将它们全部混合在一起,环境变量可能会覆盖模板中的变量
- 按字母顺序排序键
- 将所有键和值输出到
.env
文件中
高级用法
多个前缀
$ dump-env -t .env.template -p 'SECRET_ENV_' -p 'ANOTHER_SECRET_ENV_' > .env
此命令几乎与带有一个前缀的情况做相同的事情。但它会替换多个前缀。后续前缀总是替换之前相同的那些。例如
$ export SECRET_TOKEN='very secret string'
$ export SECRET_ANSWER='13'
$ export ANOTHER_SECRET_ENV_ANSWER='42'
$ export ANOTHER_SECRET_ENV_VALUE='0'
$ dump-env -p SECRET_ -p ANOTHER_SECRET_ENV_
ANSWER=42
TOKEN=very secret string
VALUE=0
严格的env变量
如果您想在导出时确保YOUR_VAR
存在于您的环境中,可以使用--strict
标志
$ dump-env --strict YOUR_VAR -p YOUR_
Missing env vars: YOUR_VAR
哎呀!我们忘记创建了!现在这会工作
$ export YOUR_VAR='abc'
$ dump-env --strict YOUR_VAR -p YOUR_
VAR=abc
可以提供任意数量的--strict
标志。不再有忘记的模板覆盖或缺失的env变量!
源模板
您可以使用env模板作为源模板,通过使用-s
或--source
参数。这将限制在环境中找到的非前缀变量仅限于在您的模板中已经定义的变量。
$ cat template.env
ANSWER=13
TOKEN=very secret string
VALUE=0
$ export ANSWER='42'
$ dump-env --source=template.env
ANSWER=42
TOKEN=very secret string
VALUE=0
您仍然可以使用前缀来添加环境中的额外变量
$ export EXTRA_VAR='foo'
$ dump-env -s template.env -p EXTRA_
ANSWER=13
TOKEN=very secret string
VALUE=0
VAR=foo
严格源
使用--strict-source
标志与为源模板中定义的每个变量设置一个--strict
标志的效果相同。
$ export ANSWER='42'
$ dump-env -s template.env --strict-source
Missing env vars: TOKEN, VALUE
在某些CI中创建秘密变量
实际用法
在生产中使用此工具的项目
相关
您可能还会对以下内容感兴趣
许可证
项目详情
下载文件
下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源分布
dump_env-1.5.0.tar.gz (6.3 kB 查看哈希)
构建分布
dump_env-1.5.0-py3-none-any.whl (7.3 kB 查看哈希)