Setting Environment Variables
Local Development
In order to fetch data from the WordPress instance, Gatsby needs to know the endpoint at build time. For local development, the starter kit uses dotenv.
In your projects .env.development.local file, add a WPGRAPHQL_URL key with
your WordPress GraphQL Endpoint as the value.
For example:
WPGRAPHQL_URL=https://dev-my-wordpress-site.pantheon.site/wp/graphql
Connecting to Multidev Environments
To connect to a Multidev environment, the PANTHEON_ENVIRONMENT environment
variable can be used inside of gatsby-config.js.
Either the PANTHEON_CMS_ENDPOINT or WPGRAPHQL_URL will need to be set.
The PANTHEON_CMS_ENDPOINT can be mocked for local development by defining it
in the .env.development.local.
PANTHEON_CMS_ENDPOINT=dev-my-wordpress-site.pantheonsite.io
Taking a look at how the gatsby-config.js works, there is this logic which
sets the url.
let url = process.env.WPGRAPHQL_URL || process.env.PANTHEON_CMS_ENDPOINT;
In order to connect to a Multidev backend, this url will need to be updated.
PANTHEON_ENVIRONMENT includes a PR number or integration branch name.
This code could be added under the above logic to connect to a Multidev that is prefixed with the branch name of my site.
/**
* PANTHEON_ENVIRONMENT is equal to `multi-demo` since that is the name of my branch.
**/
if (process.env.PANTHEON_ENVIRONMENT !== 'live') {
url = `https://${process.env.PANTHEON_ENVIRONMENT}-${url.replace(
/^https?:\/\/[^-]*-/,
'',
)}`;
}