Gatsby Cloud 不尊重预览环境变量

问题描述 投票:0回答:0

我最近为我的 Gatsby 应用配置了 Gatsby Cloud,github 集成和预览似乎非常有用。 我之前使用 circleci 进行生产构建并部署到 aws。我以前没有部署开发版本的暂存站点。

我将我的生产环境变量添加到环境变量设置的

Build
部分。然后我将我的开发环境变量添加到
Preview
部分。 无论我在 gatsby-config.js 中配置什么,GC 使用的构建过程自动默认为我的 PR 构建的生产。不幸的是,文档中没有这方面的信息。

gatsby-config.js:

let activeEnv = process.env.GATSBY_IS_PREVIEW ? "development" : process.env.NODE_ENV || "development";

require("dotenv").config({
  path: `.env.${activeEnv}`,
});
console.log(`** Build Env: '${activeEnv}'`);
console.log("** BACKEND URL:", process.env.GRAPHQL_URL);

我看到在 PR 构建过程中为

activeEnv
记录了“开发”,这是我所期望的。 dotenv 技术上应该加载
.env.development
,但它并没有以开发
GRAPHQL_URL
url 结束。
process.env.GRAPHQL_URL
始终作为 .env.production 中的值注销

从 GC 生成输出: https://i.stack.imgur.com/CKP9K.png

gatsby gatsby-cloud
© www.soinside.com 2019 - 2024. All rights reserved.