Contentstack enables you to clone a stack and its associated structure and content using the cm:stacks:clone CLI command. This process lets you export data from a source stack and import it into a new or existing stack, facilitating rapid setup, testing, or migration. This guide uses the latest Contentstack CLI commands to ensure a seamless cloning experience.
Note: Before executing this command, ensure you have the required permissions for creating or accessing the destination stack. To know more about user roles and their permissions, refer to this documentation.
The cm:stacks:clone command lets you export content from the source stack and import it into the destination stack instantly.
Note: By default, an audit fix is performed on the exported content before import. This helps identify and address potential issues in the exported data.
Use the following options while performing the clone operation:
{
"master_locale": {
"name": "English - United States",
"code": "en-us"
},
"export": {
// export specific configs
"fetchConcurrency": 1
} ,
"import": {
// import specific configs
"entriesPublish": false
}
}
On passing the --config flag, the config will be passed to export and import in the --clone command. You can pass separate or common config for export and import as given in the above sample config file.
Note: If the --yes flag is not passed, you’ll be prompted to enter an encryption key when cloning a Marketplace app with its configuration. You have three attempts to provide the correct key. After three failed attempts, the cloning process must be restarted from the beginning.
Follow the steps below to clone a stack using the cm:stacks:clone command:
csdx cm:stacks:cloneTip: To minimize errors, we recommend creating a new destination stack. If importing content into an existing stack, ensure that it is empty.
After you complete these prompts, the source stack’s content will be cloned to the destination stack.
Alternatively, you can also run the entire operation using a single command with parameters as given below:
csdx cm:stacks:clone -n "<>" --source-management-token-alias "<>" --destination-management-token-alias "<>" --target-branch "<>" --source-branch "<>" --type a|b {choose either a or b} -yExamples:
csdx cm:stacks:clone --source-management-token-alias <<management token alias for source>> --destination-management-token-alias <<management token alias for destination>>csdx cm:stacks:clone --source-management-token-alias <<management token alias for source>> --destination-management-token-alias <<management token alias for destination>> --yesAdditional Resources: Learn more about the CLI-supported clone operations in the CLI-Supported Features for Export, Import, and Clone Operations document.