Salesforce Ant Migration

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

  1. 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.
  2. Useful for uploading test environment with a lot of configuration settings.
  3. 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.
  4. The Name of the components we can Deploy or retrieve are as follows:
    1. Custom Fields.
    2. Objects.
    3. Workflow rules.
    4. Apex Triggers.
    5. Apex Class.
    6. 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

  1. Download Force.com migration tool from your salesforce organisation.
    1. Go to Setup.
    2. Type “Tool” and Click on Force.com Migration tool & Toolkits.
    3. Go to the Following Link for downloading Ant:

https://gs0.salesforce.com/dwnld/SfdcAnt/salesforce_ant_36.0.zip

  1. Add the bin directory to your path.
  2. Set the ANT_HOME environment variable to the directory where you installed Ant.
  3. Set the JAVA_HOME environment variable to the directory where the JDK is installed.
  4. Run command in Command line Interface:   “ant -version” to check the version and confirm the installation.

Img1

Usage

  1. Create three Files:
    1. 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>

    1. 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.

 

    1. 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>

  1. Go to the path where you stored these files and then Run commands as follows:
    1. Upload(Which you mentioned in your build.xml file as target) – For uploading components you mentioned in the Package.xml file.
    2. 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).

Author: AJ

Share This Post On

1 Comment

  1. 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

    Post a Reply

Submit a Comment

Your email address will not be published. Required fields are marked *