Force.com maintains the various components that form an application as metadata. It is often necessary to move metadata from one system to another, such as when you are:
The Force.com Migration Tool is a Java/Ant-based command-line utility, based on the Force.com Metadata API, for moving metadata between a local system directory and a Force.com organization. The Force.com Migration Tool is especially useful in the following scenarios:
To begin learning about the Force.com Migration Tool, follow this path.
The following link doesn’t require authentication to Salesforce. If you’re logged into Salesforce, we recommend you log out first before accessing the link in your browser.
To obtain a specific version of the Force.com Migration Tool, specify the version number in the the download URL. The download URL contains the version at the end of the file name (_nn.0.zip): https://gs0.salesforce.com/dwnld/SfdcAnt/salesforce_ant_nn.0.zip
For example, to get version 37.0, use this URL: https://gs0.salesforce.com/dwnld/SfdcAnt/salesforce_ant_37.0.zip
Versions of the Force.com Migration Tool are available starting from version 19.0.
During Salesforce pre-release and the sandbox preview window, preview and sandbox instances are upgraded before production. Preview and sandbox orgs might contain changes to components that aren’t supported in production yet. If you’re using the latest version of the Force.com Migration Tool during that time, you can deploy changes between preview or sandbox orgs only. Alternatively, you can change the version in package.xml to match the production version and deploy to production. After your production instance is upgraded, you can deploy all changes from sandbox using the latest version of the Force.com Migration Tool.
The Force.com Migration Tool uses the Metadata API version that’s specificed in package.xml. If you want to use a version that’s older than your downloaded tool, specify the desired version in package.xml. You don’t need to download a different version of the Force.com Migration Tool to use an older API version.