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