---
schema_version: "1"
id: 4b3964cab00c5b5dcea369d451fd9d2708d03a1398f8243f52fc56440bce91e0
title: Promotion Options
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/devops_center_promotion_options.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.devops_center_promotion_options.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: ed5775a5767e961171f296a05de4eff90aeade7e693dfe2eef87c4839159eb6d
description: The available promotion options depend on if you’re promoting individual work items, work item bundles, or performing a validate-only deployment.
products:
  - Salesforce Platform
release: "264"
---
# Promotion Options

The available promotion options depend on if you’re promoting individual work items, work item bundles, or performing a validate-only deployment.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-devops_center-264-0-0-production-enus/166010c3-4c34-4087-92ad-aea917baf524/images/icon_note.png)

Note Validate-only deployments and Salesforce CLI-based deployments are currently available only in DevOps Center (Managed Package).

## Merging Behavior for Promotions

- When a promotion runs, DevOps Center merges the branch from the originating stage into the target stage's branch. It then deploys the metadata from the target stage's branch to the target stage's org.
- If the deployment fails, we don’t finalize the merge to the target stage's branch. All branches remain in the state they were before you attempted the promotion.
- If you perform a validate-only deployment, we don’t merge any changes to the target stage's branch until you perform the Quick Deploy.

## Deploy Changes Using Salesforce CLI

You can deploy externally merged changes to the associated pipeline environment or perform a validate-only deployment using Salesforce CLI. See [External Change Requests and Merges](https://help.salesforce.com/s/articleView?id=platform.devops_center_external_merges.htm&release=264.0.0&type=5 "You can create a change request and merge your changes directly in the source control system, which is the first half of the promotion process. You can complete the promotion by deploying all externally merged changes to the pipeline stage’s associated environment within DevOps Center or by using Salesforce CLI.") and [Deploy Changes Using Salesforce CLI (Beta)](https://help.salesforce.com/s/articleView?id=platform.devops_center_deploy_changes_cli.htm&release=264.0.0&type=5 "Use Salesforce CLI to deploy changes to a pipeline stage’s environment or to perform a validate-only deployment. You must externally merge any changes in the source control repository before you can perform the deployment using the CLI. While the CLI command runs, you can see the progress of the promotion reflected in the DevOps Center Pipeline Stages tab.") for details.

## Promotion Options (Bundling and Versioned Pipeline Stages Only)

If you’re promoting from the bundling or a versioned pipeline stage, we provide these promotion options.

- **Promote now**—Promote all versioned work item bundles to the next pipeline stage.
- **Run a validate-only deployment**—Run a validation to check the results of Apex tests and deploying components without saving any components in the org. See [Run a Validate-Only Deployment](https://help.salesforce.com/s/articleView?id=platform.devops_center_deployment_validate_only.htm&release=264.0.0&type=5 "To ensure a successful deployment ahead of time, create a validate-only deployment. You can create a validation for only the bundling stage and versioned stages. You can run a validate-only deployment within DevOps Center or using Salesforce CLI.") for details.

## Changes to Promote

When you promote individual work items through the pipeline, you can select whether to deploy only the items that changed or all the changes in the target stage’s branch.

- **Changes not in the <stage-name>’s branch** (recommended)—Deploy only the files from that target stage's branch that aren’t yet in the target stage's org. In effect, you’re deploying only the files (changes) that recently came from the originating stage as part of this promotion. This behavior is the default, and is more efficient because we're deploying fewer files. In most circumstances, selecting this option is sufficient.
- **All metadata in the <stage-name>’s branch**—Deploys all files in the target stage’s branch to the target stage’s org, after the branch has been merged. Select this option if your deployments are failing due to dependent or missing metadata. In some cases, the metadata doesn’t exist in the defined set of changes yet exists in the target stage branch. This option is useful when you or a colleague has committed and merged changes to the branch outside of DevOps Center but DevOps Center doesn’t know about them.

## Apex Test Options

When you promote work items through the pipeline, decide which Apex tests to run based on pipeline stage and to which environments you’re deploying changes.

- **Default**—In sandboxes and scratch orgs, no tests are run. In production, all local tests are run if your changes contain Apex classes or triggers. This option excludes tests included in installed packages.
- **Run local tests**—All local tests are run, excluding tests included in installed packages.
- **Run all tests**—All tests in your org are run, including tests from installed packages.
- **Run specified tests**—Only the tests that you specify are run. Provide the names of test classes in a comma-separated list (no spaces between entries). Example: `TestDeleteData`,`TestDataFactory.createTestRecords`

#### See Also

- [_Apex Developer Guide_: Testing and Code Coverage](https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_code_coverage_intro.htm)