> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://contentful.com/developers/docs/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/_mcp/server. # Create and deploy content type changes > Learn how to create and deploy your content type changes using environments and environment aliases with Contentful web app, Contentful CLI or via integration with your CI/CD pipeline. ## Goal of the tutorial The goal of this tutorial is to instruct you on how to make changes to your content model and merge them to production using Contentful toolkit. The tutorial provides a step-by-step instruction, where each step can be accomplished using one of the following options: * The developer's UI (Contentful web app and Merge app). * Content Management API (CMA). * Contentful CLI. * Via a CI/CD pipeline — for details, refer to [Continuous Integration Tutorial](/tutorials/general/continuous-integration-with-circleci). ## Prerequisites ### Tools and accesses * Contentful account. * To work with [Merge app](/tutorials/general/merge-app) — Merge app installed. * To work with [CMA](/references/content-management-api/overview) – access to CMA. * To work with Contentful CLI — locally [installed](/tutorials/cli/installation) Contentful CLI and [authentication](/tutorials/cli/authentication) with Contentful CLI. ### Setups In your space, set up a master alias and target it to the environment that serves production content. ### Knowledge * Familiarity with [environments](/concepts/multiple-environments) and [environment aliases](/concepts/environment-aliases). * Familiarity with [content modeling](https://www.contentful.com/help/content-modelling-basics/). ### Training course Take the training course in our Learning Center to learn how to deploy and roll back changes using the environment aliases: [Making risk-free releases and instant rollbacks](https://training.contentful.com/learn/learning-path/developer). ## Set up environments and make changes > **Info** > > In the flow below, we use an example setup of environments that we refer to as "development" and "release" environments. However, environment IDs are custom and you are free to use ones that work best for you. The process of creating changes to your content model and deploying them to production is accomplished with the following major steps: ### 1. **Set up a development environment.** Create an environment to be used specifically for development. To create a development environment, clone the target environment of the master alias so you can make and test changes with a latest copy of production data. > **Info** > > When you clone an environment, workflows aren't copied from it to the new environment. > **Info** > > To ensure a safe and reliable release, we recommend that you make and test changes in a development environment before moving them to production. This ensures you start with your space's latest content model and content, and allows you to make changes and test them without affecting what's in production. You can create an environment according to one of the following options: * **Recommended**: Using UI in the ["Environments" page of the Contentful web app](https://www.contentful.com/help/create-an-environment). * **Recommended for CI pipelines**: Set up your CI to spin up a new environment. * By sending [a request to CMA](/references/content-management-api/overview). * By running [a command in the Contentful CLI](/tutorials/cli/environment-management#clone-an-existing-environment). ![Create and deploy changes 001](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/6bf6588cafb38c327f28848aa960fffb07649bbaee68e0eb3f4fb6614abe1d09/docs/assets/images/create-and-deploy-changes-001.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=e753fcad098ab64bbbca4f93e359d07680e948cf22fb8631ceec8eb037e989bc&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 2. **Make changes to the content model.** Go to your content model and make the necessary changes. You can set up new content types or edit the existing ones by adding or removing fields or changing the existing fields settings. Learn how to create a new content type or update an existing one: * **Recommended**: In the ["Content model" page of the Contentful web app](https://www.contentful.com/help/update-content-type/). * By sending [a request to CMA](/references/content-management-api/overview). * By scripting the changes using the [Contentful CLI](https://github.com/contentful/contentful-migration#documentation--references). ![Create and deploy changes 002](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/46308b01d594fd9cf9011e8dec27de3ad2e2c902128d431bfe26305bd26c38b5/docs/assets/images/create-and-deploy-changes-002.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=dcdc45ec9feba5870f96d36c15066228504e0484b42430fc9d78dac68359cde3&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 3. **Test content model changes.** Test your changes to make sure everything works as expected: * **Manually** — Test changes manually in the web app. * **Run automation tests** — If you work with automated deployment pipelines, verify your changes by running predefined tests. ![Create and deploy changes 003](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/24d62222c5782cfd5678a134d6f2ab3e8031cf986c3c9c39b1cabd1f8599c52e/docs/assets/images/create-and-deploy-changes-003.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=44fe68b72fdb70b94f7a58054d2f36fe5f9998119db859ced1baa6e987f46aa7&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 4. **Set up a release environment.** The release environment can be used to put together changes from multiple development environments to be reviewed before further moving them to production. To create a release environment, clone a target environment of the master alias to have a fresh copy of production content. To see the options on how to create environments, refer to step 1 of this tutorial. > **Info** > > When you clone an environment, workflows aren't copied from it to the new environment. ![Create and deploy changes 004](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/2f5b32864a541c019ad5704e82bbc5c67ab810ca1074356fcfbcffc67c2c1522/docs/assets/images/create-and-deploy-changes-004.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=536efec2c814c3aa3c5a0c4de81d810e2cffac3e67cadea3016f63b508a2c68b&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 5. **Persist content model changes.** > **Info** > > This step is optional if you apply changes using the Merge app. In this case, you can persist changes for different purposes, e.g. to later apply them in environments of a different space or to keep a record of the migration. You can save your changes to use them in any other working setup by generating and downloading the migration file. For example, it can be saved in your GitHub repository to trigger your CI pipeline and run automation tests in other environments. The migration file can be created according to one of the following options: * **Recommended**: Generate and export the migration file using [the Merge app](/tutorials/general/merge-app). * **Recommended for CI pipelines**: Export the migration file via Contentful CLI with [Merge app CLI](/tutorials/cli/merge-app-cli) * Manually [write a migration file](https://github.com/contentful/contentful-migration#documentation--references). ![Create and deploy changes 005](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/bfbec6693c4a87bc8e791694958d879bfa23e93a8a9baa36551d66eda94615a5/docs/assets/images/create-and-deploy-changes-005.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=c4eb173334058e61e1b5a2c6927e5595d3abbef2a071970cff32611c7229b0c6&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 6. **Apply content model changes.** In this step, merge to the release environment the content model changes you created in your development environment, as well as the changes made and tested by other developers in their development environments. Content model changes can be merged to the release environment according to the following options: * **Recommended**: With [the Merge app](/tutorials/general/merge-app) — Review and merge the changes from one environment to the other using simple developer's UI. * **Recommended for CI pipelines**: Run [migrations via CI](/tutorials/general/continuous-integration-with-circleci) OR via [Merge app CLI](/tutorials/cli/merge-app-cli). * Applying the migration scripts via the [Contentful CLI](https://github.com/contentful/contentful-cli/tree/master/docs/space/migration). ![Create and deploy changes 006](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/58554d3479f157d2b733f1e4ad70ddea6237e4c205e173f187959982b5f63585/docs/assets/images/create-and-deploy-changes-006.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=53010f45f54f4455f6ca0d6e1af1443b84c1f38bfd6d6638b7ec62a4227329d9&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 7. **Change alias target.** Change your production alias target to point to the release environment, in which the changes were applied: * **Recommended**: Using UI in the ["Environments" page of the Contentful web app](https://www.contentful.com/help/change-target-of-the-environment-alias). * **Recommended for CI pipelines**: By [updating the alias in the migration file](/tutorials/general/continuous-integration-with-circleci). * Running the command to change the environment alias's target in the [Contentful CLI](/tutorials/cli/environment-alias-management). * By sending [a request to CMA](/references/content-management-api/overview). Your content model changes are deployed to production. ![Create and deploy changes 007](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/5e0a9099b82ac83dc215600f4f77a672bc5d15deb65ea56fa9550a9c35fdac8f/docs/assets/images/create-and-deploy-changes-007.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=a9163b9446967af77f5552d19502650319e211a1ca41869a0b18433ab8cf1d4a&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) ### 8. **Optional**: Roll back your changes in case of an error. If you discover that the deployment breaks the production website or app, you can roll back the changes by switching the production alias to its previous target environment. To see the options on how to change the alias target, refer to step 7 of this tutorial. ![Create and deploy changes 008](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/contentful.docs.buildwithfern.com/6868f10f84ac9c0f88c64e4380742d272109559a9ff2f1649576db12d8ef98ca/docs/assets/images/create-and-deploy-changes-008.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260929%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260929T234803Z&X-Amz-Expires=604800&X-Amz-Signature=f3a724692ab038feb397c64a449bae4995580a1b13d5ff2a384844f88cf3fd51&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject) > Learn how to create and deploy your content type changes using environments and environment aliases with Contentful web app, Contentful CLI or via integration with your CI/CD pipeline.