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