Skip to content Skip to sidebar Skip to footer

Google App Engine: Modify Cloud Run Environment

I'm trying to deploy a Next.js app which uses a custom Node.js server. I want to inject custom build variables into the app: next.config.js const NODE_ENV = process.env.NODE_ENV;

Solution 1:

Don't use NODE_ENV, create your own environment variable and use that:

App.yaml

env_variables:ST_ENV:Production

next.config.js

const environment = process.env.ST_ENV;
const envType = environment === `production` ? `production` : `staging`;

const envPath = `./config/${envType}`;
const { env } = require(envPath);

module.exports = {
  env: { ...env },
};

Solution 2:

I had the same issue, at the end I solved setting NODE_ENV=production in the package.json script, so in your case just use:

{"gcp-build":"NODE_ENV=production yarn build"}

otherwise you can create a Cloud Build configuration file, check the docs, it supports an env section where you can define environmental variables

Solution 3:

I had the same problem and ended up using an approach similar to Luca's answer, but with a mechanism to substitute the correct variable in package.json before the deploy (using the microsoft/variable-substitution GitHub action in my case).

Post a Comment for "Google App Engine: Modify Cloud Run Environment"