Manage Development and Production app separately

How do you manage the development and testing process for a Shopify app, specifically when working with a test store, and ensure that the app is not inadvertently released to merchants?
I am pretty new in shopify app development & I am facing a situation where, once I start the local Shopify app using the CLI, I need to update the app proxy URL. After updating it, the interface shows a “Save and Release” button and marks the app as “Active” with a green tag. However, I want to continue developing the app without releasing it to merchants. How can I ensure that the app remains in development mode, preventing it from being released to merchants while still allowing me to update the app proxy URL and test it on my test store?

Hi Divasraj,

When you’re using the Shopify CLI and you want to test a new version just on your development store, you can use the --no-release flag:

shopify app deploy --no-release

This ensures that any changes made to the app configuration or extensions are not pushed live to merchants.

You can update the app proxy URL in the app’s configuration settings. This change will not automatically release the app if you are working in development mode.

Personally I create two apps in my Partner account. The real production one and a staging one.

Then you can just have two separate toml files and use shopify app deploy --config=staging for example to select which one you are working with. That way keeps everything separate :slight_smile:

There are other ways of doing it but this is my personally prefered one as then I can keep seperate Shopify apps, database and other infrastructure for staging and production.

Thanks for your response! I used the --no-release flag, and it worked as expected—the app was not released, and a new version (Version 67) was created. However, when I clicked the “Test your app on development store” button, it installed the previously active version (Version 65) instead of the latest one.

How can I install and test the latest version (Version 67) on my development store without making it active for all users?

Would appreciate any guidance on this! Thanks again. :rocket: