--- title: About deployment description: Learn how to choose a hosting service and deploy your Shopify app. source_url: html: 'https://shopify.dev/docs/apps/launch/deployment' md: 'https://shopify.dev/docs/apps/launch/deployment.md' --- ExpandOn this page * [General requirements for deployment](https://shopify.dev/docs/apps/launch/deployment.md#general-requirements-for-deployment) * [How it works](https://shopify.dev/docs/apps/launch/deployment.md#how-it-works) * [Deploying to production](https://shopify.dev/docs/apps/launch/deployment.md#deploying-to-production) * [Hosting and deployment options](https://shopify.dev/docs/apps/launch/deployment.md#hosting-and-deployment-options) * [App versions](https://shopify.dev/docs/apps/launch/deployment.md#app-versions) * [Next steps](https://shopify.dev/docs/apps/launch/deployment.md#next-steps) # About deployment This guide explains how to make your Shopify app available to merchants. You'll learn about hosting options and deployment requirements, whether you're building with [Shopify React Router](https://shopify.dev/docs/apps/build/build) or another framework. *** ## General requirements for deployment Before deploying your app: * Review your [app's launch requirements](https://shopify.dev/docs/apps/launch/app-requirements-checklist) and [learn about the launch process](https://shopify.dev/docs/apps/launch) * [Test your app functionality](https://shopify.dev/docs/apps/build/cli-for-apps/manage-app-config-files#test-your-app-functionality) in a development environment * Make sure your local `shopify.app.toml` configuration file is accurate Note The [Shopify React Router template](https://shopify.dev/docs/apps/build/build) automatically handles key deployment requirements such as authentication, session management, webhook handling, and environment configuration. *** ## How it works When you deploy a Shopify app, you're making your code available to merchants. This involves: * Moving your code from your local development environment to a hosting service * Connecting your hosted app to Shopify through [Shopify CLI](https://shopify.dev/docs/apps/build/cli-for-apps) or the [Dev Dashboard](https://dev.shopify.com/dashboard/) * Managing app extensions and configurations through app versions Your hosting service manages the app's runtime environment and handles incoming requests through authenticated connections. *** ## 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 Dev Dashboard. Note When deploying a Shopify app, we need to be able to reliably determine which extensions have been added, updated, and removed from your app. This means that we need to map extension code to our records of your extensions on Shopify. To achieve this, [app extensions](https://shopify.dev/docs/apps/build/app-extensions) are idenitified by extension user identifiers (UIDs) that are set in the `shopify.extension.toml` file. Extension UIDs are unique, source-defined, and app-scoped, so they can be shared across production, staging, and development apps. By default, UIDs are automatically added when you create a new extension using `shopify app extension generate`, or when you run `shopify app deploy`. UIDs are deterministic based on the extension handle, so they will always be the same for extensions with the same app handle value. Note [App extensions](https://shopify.dev/docs/apps/build/app-extensions) are all managed with the Shopify CLI. If you want to make any changes to app extensions, you must deploy new versions from the Shopify CLI. *** ## Hosting and deployment options The following are common providers for hosting your Shopify app: [Deploy to Google Cloud Run\ \ ](https://shopify.dev/docs/apps/launch/deployment/deploy-to-hosting-service) [Learn how to deploy your Shopify app to Google Cloud Run.](https://shopify.dev/docs/apps/launch/deployment/deploy-to-hosting-service) [Deploy to Fly.io\ \ ](https://fly.io/shopify) [Learn how to deploy your Shopify app to Fly.io.](https://fly.io/shopify) [Deploy to Render\ \ ](https://docs.render.com/deploy-shopify-app) [Learn how to deploy your Shopify app to Render.](https://docs.render.com/deploy-shopify-app) ### Manual deployment If you're comfortable with app hosting and deployment, or if you have specific infrastructure requirements, then you can deploy to a preferred hosting service that can run JavaScript apps: [Manual deployment guide\ \ ](https://shopify.dev/docs/apps/launch/deployment/deploy-to-hosting-service) [Choose this option if you need complete control over your hosting environment or have specific infrastructure requirements.](https://shopify.dev/docs/apps/launch/deployment/deploy-to-hosting-service) *** ## App versions After setting up your [app configuration](https://shopify.dev/docs/apps/build/cli-for-apps/app-configuration) or creating [app extensions](https://shopify.dev/docs/apps/build/app-extensions), you can deploy these components together and release a new app version to users. [App versions overview\ \ ](https://shopify.dev/docs/apps/launch/deployment/app-versions) [Learn about the deployment model for app configuration and extensions.](https://shopify.dev/docs/apps/launch/deployment/app-versions) [Deploy and release app versions\ \ ](https://shopify.dev/docs/apps/launch/deployment/deploy-app-versions) [Learn how to deploy app configuration and extensions to Shopify.](https://shopify.dev/docs/apps/launch/deployment/deploy-app-versions) [Deploy in a CD pipeline\ \ ](https://shopify.dev/docs/apps/launch/deployment/deploy-in-ci-cd-pipeline) [Learn how to deploy in a CI/CD pipeline.](https://shopify.dev/docs/apps/launch/deployment/deploy-in-ci-cd-pipeline) *** ## Next steps After you have deployed your app, it's time to [review distribution options](https://shopify.dev/docs/apps/launch/distribution/select-distribution-method). *** * [General requirements for deployment](https://shopify.dev/docs/apps/launch/deployment.md#general-requirements-for-deployment) * [How it works](https://shopify.dev/docs/apps/launch/deployment.md#how-it-works) * [Deploying to production](https://shopify.dev/docs/apps/launch/deployment.md#deploying-to-production) * [Hosting and deployment options](https://shopify.dev/docs/apps/launch/deployment.md#hosting-and-deployment-options) * [App versions](https://shopify.dev/docs/apps/launch/deployment.md#app-versions) * [Next steps](https://shopify.dev/docs/apps/launch/deployment.md#next-steps)