Hi Shopify team,
We have built a Shopify custom app using Remix and currently deploy it using Jenkins CI/CD (Docker build and run). We are not using shopify app dev or shopify app deploy in our pipeline.
Right now we are using separate Git branches for each environment:
-
dev
-
staging
-
prod
The issue we are facing is that shopify.app.toml and .env values are different for each environment, especially:
-
application_url
-
redirect URLs
-
API keys
-
other environment variables
Because of this, whenever branches are merged or updated, we get configuration conflicts in shopify.app.toml and .env.
Our questions:
-
What is the recommended way to manage environment-specific configuration for Shopify apps on GitHub?
-
Should we maintain multiple shopify.app.toml files (e.g., dev/staging/prod)?
-
Or should we keep one shopify.app.toml and manage environment values through CI/CD variables?
-
What approach is recommended when using Jenkins CI/CD instead of Shopify CLI for deployment?
We want to avoid conflicts while keeping the repository clean and following Shopify best practices.