Describe the options available to move metadata between environments.
Salesforce provides several tools to move changes from one Salesforce org to another. The most common deployment tools are Change Sets and the Force.com IDE. Apart from those, the Ant Migration Tool, the Force.com CLI, Workbench, and Unmanaged and Managed Packages can be used for deployments.
Change Sets are a Salesforce feature to deploy components between connected Salesforce orgs without a local directory.
Change sets can be used to deploy customized components between connected Salesforce orgs. They can contain components such as apps, objects, fields, or reports. However, they cannot include any data such as object records.
Salesforce differentiates between outbound and inbound change sets. To deploy a functionality from one org to another, an outbound change set is created in the sending org. The receiving org will then see this change set as an inbound change set and can validate and execute it.
Change sets can only be sent and received between orgs which are affiliated with a production org. It is only possible to deploy from sandbox to sandbox org, and from sandbox to production orgs. A deployment connection between the orgs is required, and each connected org must be authorized to send and receive change sets. This enforces code promotion paths defined in the development lifecycle and protects customizations from being overwritten by mistake.
Force.com IDE is a plug-in for the Eclipse integrated development environment (IDE). It can be used for both development and deployment of Salesforce components.
The Force.com IDE uses a local directory to store metadata during development. This metadata is portable and can be deployed to other Salesforce orgs. The Deploy to Server wizard in the Force.com IDE can be used to deploy all local metadata or selected classes or triggers to a destination org. At least a username and password must be provided, to login and deploy to a destination org.
The Ant Migration Tool is a script based command-line utility to move metadata between a local directory and a Salesforce org.
The tool can be used to retrieve metadata, created scripted deployments and automate deployments.
Force.com CLI is a command-line utility for the Force.com platform. It supports various commands and can also be used to deploy metadata.
export command can be used to save metadata from a Salesforce org to a local directory. In reverse, the
import command can be used to load metadata from a local directory it to a Salesforce org.
Workbench is a web-based tool with several features to manage Salesforce orgs.
The Retrieve feature can be used to download metadata from a Salesforce org. Contrarily, the Deploy functionality can be used to upload metadata to a Salesforce org.
Unmanaged Packages can be used to create component collections which can then be distributed and installed in other Salesforce orgs.
Managed Packages are similar to Unmanaged Packaged, with the difference that they add a namespace to all components. This allows Managed Packages to be updated in other Salesforce orgs without potential name conflicts.
Salesforce provides different types of sandboxes. Depending on the type, different storage type is available and different grace periods for refreshed apply. When a sandbox is refreshed, all metadata is copied from the production org to the sandbox. Depending on the type, also all or a portion of production data is copied.
|Developer Pro||1 GB||Daily|
|Partial Copy||5 GB||Every 5 days|
|Full Copy||Same as Production||Every 29 days|