从节点读取 .env 文件 - env 文件未发布

reading .env file from node - env file is not published

我正在尝试使用“dotenv”包读取 .env 文件,但它 returns 在发布到 gcloud 运行 后未从 process.env.DB_HOST 定义。当我将所有文件输出到日志时,我在根目录中看到了除 .env 文件之外的所有文件。我的项目中的根目录中确实有 .env 文件。不知道为什么它没有被推送到 gcloud 或者是吗?。当我在本地测试 process.env.DB_HOST.

时,我确实得到了一个值

我使用此命令发布到 google 运行。 gcloud 构建提交 --tag gcr.io/my-project/test-api:1.0.0 .

如果您的项目中没有 .gcloudignore 文件,gcloud CLI 默认使用 .gitignore

创建一个 .gcloudignore 并放置您在使用 gcloud CLI 命令时不想上传的文件。所以,不要把 .env 放在里面!


编辑 1

当您添加 .gcloudignore 时,gcloud CLI 不再读取 .gitignore 文件并改为使用它。

因此,你可以定义2种不同的逻辑

  • .gitignore 列出您不想推送到存储库的文件。 .env 文件放入其中 不要提交它
  • .gcloudignore 列出您不想使用 gcloud CLI 发送的文件。 不要将 .env 文件放入其中,以便在使用 gcloud CLI 发送代码时包含它