---
title: app deploy
description: 'Builds the app, then deploys your app configuration and extensions.'
source_url:
  html: 'https://shopify.dev/docs/api/shopify-cli/app/app-deploy'
  md: 'https://shopify.dev/docs/api/shopify-cli/app/app-deploy.md'
api_name: shopify-cli
---

# app deploy

[Builds the app](https://shopify.dev/docs/api/shopify-cli/app/app-build), then deploys your app configuration and extensions.

This command creates an app version, which is a snapshot of your app configuration and all extensions. This version is then released to users.

This command doesn't deploy your [web app](https://shopify.dev/docs/apps/tools/cli/structure#web-components). You need to [deploy your web app](https://shopify.dev/docs/apps/deployment/web) to your own hosting solution.

#### Flags

The following flags are available for the `app deploy` command:

* **--allow-deletes**

  **env: SHOPIFY\_FLAG\_ALLOW\_DELETES**

  Allows removing extensions and configuration without requiring user confirmation. For CI/CD environments, the recommended flag is --allow-updates. In non-interactive environments, provide this flag, --allow-updates, or --no-release.

* **--allow-updates**

  **env: SHOPIFY\_FLAG\_ALLOW\_UPDATES**

  Allows adding and updating extensions and configuration without requiring user confirmation. Recommended option for CI/CD environments. In non-interactive environments, provide this flag, --allow-deletes, or --no-release.

* **--auth-alias \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_AUTH\_ALIAS**

  Alias of the Shopify account to use for authentication.

* **--client-id \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_CLIENT\_ID**

  The Client ID of your app. Use with --config to deploy that configuration to a different app than the one it is linked to.

* **--json-schema**

  **env: SHOPIFY\_FLAG\_JSON\_SCHEMA**

  Print the command's JSON schemas.

* **--message \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_MESSAGE**

  Optional message that will be associated with this version. This is for internal use only and won't be available externally.

* **--no-build**

  **env: SHOPIFY\_FLAG\_NO\_BUILD**

  Use with caution: Skips building any elements of the app that require building. You should ensure your app has been prepared in advance, such as by running `shopify app build` or by caching build artifacts.

* **--no-color**

  **env: SHOPIFY\_FLAG\_NO\_COLOR**

  Disable color output.

* **--no-input**

  **env: SHOPIFY\_FLAG\_NO\_INPUT**

  Disable interactive prompts and browser authentication.

* **--no-release**

  **env: SHOPIFY\_FLAG\_NO\_RELEASE**

  Creates a version but doesn't release it - it's not made available to merchants. With this flag, a user confirmation is not required. In non-interactive environments, provide this flag, --allow-updates, or --allow-deletes.

* **--path \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_PATH**

  The path to your app directory.

* **--reset**

  **env: SHOPIFY\_FLAG\_RESET**

  Reset all your settings.

* **--source-control-url \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_SOURCE\_CONTROL\_URL**

  URL associated with the new app version.

* **--verbose**

  **env: SHOPIFY\_FLAG\_VERBOSE**

  Increase the verbosity of the output. May include sensitive data.

* **--version \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_VERSION**

  Optional version tag that will be associated with this app version. If not provided, an auto-generated identifier will be generated for this app version.

* **-c, --config \<value>**

  **string**

  **env: SHOPIFY\_FLAG\_APP\_CONFIG**

  The name of the app configuration.

### Examples

* #### App deploy

  ##### app deploy

  ```sh
  shopify app deploy [flags]
  ```

***
