# Deploy to Vercel Learn how to deploy your customization to [Vercel](https://vercel.com). ## Prerequisites Before you get started, you need to have: - A [Vercel](https://vercel.com) account. - A Project - A Merchant Center account, or an [Identity account](https://docs.commercetools.com/docs/identity/overview.md) - A customization configured in the Merchant Center: - For Custom Applications, see [Managing Custom Applications](https://docs.commercetools.com/merchant-center/managing-custom-applications.md). - For Custom Views, see [Managing Custom Views](https://docs.commercetools.com/merchant-center/managing-custom-views.md). ## Configuration ### Add the customization identifier and URL Depending on the customization type, you'll need to specify either the Custom Application ID or the Custom View ID that was provided to you when you added the customization in the Merchant Center. You'll also need to specify the production URL from your Vercel project. You can keep the standard Vercel URL `https://.vercel.app` or provide your custom domain. For Custom Applications, make the following changes to the [Custom Application config](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-application-config.md): - Add the Custom Application ID to [`env.production.applicationId`](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-application-config.md#envproductionapplicationid). - Add the production URL of your Vercel project to [`env.production.url`](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-application-config.md#envproductionurl). ```json title="custom-application-config.json" { "env": { "production": { "applicationId": "ckvtahxl90097sys6har1e6n3", "url": "https://.vercel.app" } } } ``` For Custom Views, make the following changes to the [Custom View config](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-view-config.md): - Add the Custom View ID to [`env.production.customViewId`](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-view-config.md#envproductioncustomviewid). - Add the production URL of your Vercel project to [`env.production.url`](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-view-config.md#envproductionurl). ```js title="custom-view-config.mjs" const config = { env: { production: { customViewId: 'ckvtahxl90097sys6har1e6n3', url: 'https://.vercel.app', }, }, // ... }; ``` ### Use environment variables To avoid hardcoding values (such as the customization identifier or the Project key), you can use variable placeholders in your [Custom Application config](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-application-config.md#use-variable-placeholders) or [Custom View config](https://docs.commercetools.com/merchant-center-customizations/tooling-and-configuration/custom-view-config.md#use-variable-placeholders). Example of environment variables with Custom Applications: ```json title="custom-application-config.json" highlightLines="4" { "env": { "production": { "applicationId": "${env:APPLICATION_ID}", "url": "https://.vercel.app" } } } ``` Example of environment variables with Custom Views: ```js title="custom-view-config.mjs" highlightLines="4" const config = { env: { production: { customViewId: '${env:CUSTOM_VIEW_ID}', url: 'https://.vercel.app', }, }, // ... }; ``` ## Connect Vercel with GitHub The easiest way to deploy to Vercel is to use the [GitHub integration](https://vercel.com/docs/concepts/git/vercel-for-github). Follow the steps in Vercel to create and import a new Git repository. You must also install the [Vercel GitHub App](https://github.com/apps/vercel) to grant access to your repository. ### Configure build settings In the [Vercel setup process](https://vercel.com/docs/deployments/configure-a-build), you need to configure the following things: - Select Create React App as the Framework Preset. - Override the Build command with: `yarn build`. In your `package.json` make sure to have the following scripts defined: ```json title="package.json" { "scripts": { "build": "mc-scripts build" } } ``` - Override the Output directory with: `public`. - If possible, select or specify the Node.js Version. Recommended version is `>= v14`. If your customization config requires environment variables, you must provide them in your Vercel project > Settings > Environment variables. ## Test your deployment Install your customization in the Merchant Center to access it within your Projects: - For Custom Applications, see [Managing Custom Applications](https://docs.commercetools.com/merchant-center/managing-custom-applications.md). You can also use [deployment previews](https://docs.commercetools.com/merchant-center-customizations/concepts/deployment-previews.md) to test the application before releasing it to the production environment. - For Custom Views, see [Managing Custom Views](https://docs.commercetools.com/merchant-center/managing-custom-views.md). ## Related pages - [Section overview page](https://docs.commercetools.com/merchant-center-customizations.md) - [Previous page: Deploy to Connect](https://docs.commercetools.com/merchant-center-customizations/deployment/commercetools-connect.md) - [Next page: Deploy to Netlify](https://docs.commercetools.com/merchant-center-customizations/deployment/netlify.md)