Ant Migration tool is used to Create and Fetch Metadata to and from an organisation. It’s a command-line utility by which one can upload and download Metadata components.
Benefits
- Its very useful for creating repetitive deployment or may be a large number of components just by executing a command in an command line interface.
- Useful for uploading test environment with a lot of configuration settings.
- Manually creating Fields, Objects may take a huge amount of time when you create them by clicking with the salesforce interface. These fields can be created with one command in the Command line interface and using Package.xml file in which you specify the information about all the fields.
- The Name of the components we can Deploy or retrieve are as follows:
- Custom Fields.
- Objects.
- Workflow rules.
- Apex Triggers.
- Apex Class.
- Visualforce Pages. Etc.
The Whole list is mentioned in this link:
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_types_list.htm
Installation
- Download Force.com migration tool from your salesforce organization.
- Go to Setup.
- Type “Tool” and Click on Force.com Migration tool & Toolkits.
- Go to the Following Link for downloading Ant:
https://gs0.salesforce.com/dwnld/SfdcAnt/salesforce_ant_36.0.zip
- Add the bin directory to your path.
- Set the ANT_HOME environment variable to the directory where you installed Ant.
- Set the JAVA_HOME environment variable to the directory where the JDK is installed.
- Run command in Command-line Interface: “ant -version” to check the version and confirm the installation.
Usage
- Create three Files:
- Package.xml – Which consists the specifications for the components.
Package.xml
<?xml version=”1.0″ encoding=”UTF-8″?>
<Package xmlns=”http://soap.sforce.com/2006/04/metadata”>
<types>
<members>*</members>
<name>CustomObject</name>
</types>
<version>37.0</version>
</Package>
2.Build.properties – Which consists the Credentials of the salesforce Organisation to & from which you want to Upload/Download.
Build.properties
sf.usernameDownload = Sf.User@Name.com
sf.passwordDownload = Password122
sf.usernameUpload = Sf.User@Name.com
sf.passwordUpload = aasfde@12131QV4cWJnmdflgBRdXsWznzohG
sf.serverurlDownload = https://login.salesforce.com
sf.serverurlUpload = https://login.salesforce.com
sf.maxPoll = 100
Note: You have to mention Security token at the end of the password of the Org in which you want to Upload the metadata.
3.Build.xml – This file is used to set the attributes which will be used in the Command line interface such as “Project Name”,”Property File”,”retrieveTarget folder( where Downloaded metadata info will be saved)”,”unpackaged(Package.xml file)”.
Build.xml
<project name=”ANT Migration” default=”test” basedir=”.” xmlns:sf=”antlib:com.salesforce”>
<property file=”build.properties” />
<property environment=”env” />
<target name=”retrieve”>
<mkdir dir=”Retrieve” />
<sf:retrieve
username=”${sf.usernameDownload}”
password=”${sf.passwordDownload}”
serverurl=”${sf.serverurlDownload}”
retrieveTarget=”Retrieve”
unpackaged=”unpackaged/package.xml”
pollWaitMillis=”10000″ maxPoll=”100″ />
</target>
<target name=”upload”>
<sf:deploy
purgeOnDelete=”true”
username=”${sf.usernameUpload}”
password=”${sf.passwordUpload}”
serverurl=”${sf.serverurlUpload}”
deployroot=”Retrieve”
pollWaitMillis=”10000″ maxPoll=”100″ />
</target>
</project>
- Go to the path where you stored these files and then Run commands as follows:
- Upload(Which you mentioned in your build.xml file as target) – For uploading components you mentioned in the Package.xml file.
- Retrieve– For downloading the Components information you mentioned in the package.xml file and then that information will be created in a folder(Self Generated folder Named as Retrieve).
September 20, 2016
Thanks Ajay
This is the Life Saver for me, I just needed the information on ANT Migration tool and this blog helped me a lot
Thanks
Nirav
March 31, 2017
Really help me to clear my concept over Ant tool
Thanks
Bhupinder Mankotia