我从.env文件中获取我的环境特定变量(我使用dotenv包)。此文件不受版本控制。
使用代码管道阶段代码构建如何创建此.env文件及其内容?
我在思考,我必须使用buildspec来创建和添加内容到.env文件,但不知道如何?
由于
答案 0 :(得分:1)
所以这实际上是一个简单的脚本,在第一个答案的第二个选项中你可以将以下内容添加到buildspec.yml中:
phases:
pre_build:
commands:
- printenv > .env
shell脚本printenv > .env
是将所有进程env输出到文件所需的全部内容。
答案 1 :(得分:0)
我的建议是摆脱dotenv
并使用真实的环境变量。
dotenv
的问题在于它只是在process.env
进程中嘲笑node
。它并没有真正为您修改环境变量。它们不在node
进程之外。
我会改为使用direnv
并将.env
文件替换为.envrc
进行本地开发。
对于CI和生产环境,环境变量现在在CodeBuild项目中定义,因此不需要.envrc
个文件。
请从另一个角度查看this related answer以获取更多信息。
如果您希望继续使用dotenv
,可以选择以下几种方法:
.env
文件存储在S3中,并在构建过程中检索它。.env
文件。我确定还有其他人,但他们对我来说都是hacky。