Is there a recommend approach to be able to have multiple instances of the same app deployed?
For example I may want to deploy to staging for the testers, and the production for real merchants.
I guess I could literally create a new app for each instance, but I'm wondering if that is the recommended approach?
Creating multiple Shopify apps has generally been our approach. This lets you have different callback/redirect URLs, app links and other options for the different environments. OTOH you might have a setup w/ production and dev shops installed with the same app and just manage the config internally. I think it depends a lot on your requirements, how much the code is in flux, etc.
Feature request: I do wish partners could use an API to manage app creation/settings (aka /services/partners/api_clients). It would streamline & help avoid (our own) PEBCAK issues in building bespoke apps for clients.
It is a PITA for sure. Having one codebase, say a master at Github and then a production version in the Cloud. Needing two complete sets of API keys, links, and perhaps even proxies, then having to run tunnels to test anything with webhooks, and ensuring it's all SSL too. When you have a few Apps who cares. When you have a dozen or so, who cares. When you have 40, 50, 100, or more, it really does become... who cares. Just run one version in production, and screw all tests... because that is what it comes down to.
The underlying platform does not really scale well that way... and ya! if only we could API script up a Dev shop that came with a complete ready to go installed Embedded App to plunk away with... that would be the schizzle.
Any updates on this now in 2020? I am also wondering what would be the best way to have a production/development environment for the same app.