After you've added features to your app, you might want to make your app code available to Shopify outside of your development environment. You might deploy parts of your app to test the app's functionality, or get the app ready for distribution.
How it worksAnchor link to section titled "How it works"
Depending on the architecture of your app, you might do this using your own hosting solution and deployment pipeline, using the Partner Dashboard, or using a combination of the two. You might also need to deploy your app components to test them.
Configurations and app extensions managed entirely within the Partner Dashboard are available to your app as soon as you save them. They don't need to be deployed, versioned, or published.
After you finish developing your app, you need deploy your web app to a hosting solution. Apps deployed to hosting solutions can always be accessed by your users and won't be interrupted by changes to your local environment.
You can deploy your web app to test the functionality in a different environment, or deploy your app to a production environment to get it ready for distribution.
Deploying to productionAnchor link to section titled "Deploying to production"
If you're planning on deploying your app for use in production, then consider creating a separate app. The app might use the same repository and code base that you use for development and testing, but has its own record and configuration in the Partner Dashboard.
If you use a separate app for production, then you can use your original app to test different app elements. For example, you could test non-versioned app extensions without introducing them to your users. You'll also avoid changing your production app settings, such as app URLs, during the development and testing process.
App extensionsAnchor link to section titled "App extensions"
App extensions built using Shopify CLI need to be deployed to the Partner Dashboard so they can be used as a part of your app. You might also need to deploy some types of app extensions before you can test them.
Some app extensions are versioned, which allows control over when an extension is published, and a way to roll back changes if issues occur. Other app extensions are available immediately after they're deployed.
After you've tested a new version of your extension and are ready to release it to merchants, you can publish it. Publishing an app extension version replaces the current live version served to shops that have your app installed. If an app extension supports versioning, then you can preview a draft of the extension and create a version when you publish it.
If you need to revert changes to your extension, then you can publish a previous version. As a final course of action, you can also unpublish your extension, which makes the extension unavailable for merchants.