One major thing which makes Salesforce of an enthralling platform for admins is that there is always something new to learn about it. Today, we will discuss a new tool, which many out there aren’t aware of, which is the Force Migration Tool. Also known as ANT, this migration tool is impressive with its capabilities. Here we will try to explore what is ANT all about and what you need to know about it before putting your hands on it.
ANT is a customized Force.com tool, which will help the users to move Metadata (like Objects, Reports, Visualforce Pages, Apex Classes between various Salesforce developmental environments. On getting configured once, ANT will let the users move configurations easily from one environment to the other with the help of simple text commands to be entered into the Terminal window.
The major advantage of using ANT is that it will get all metadata in XML file format from the server and can download it to the local computer. The developers can then make any changes as needed to the XML files and then deploy it again to the server instance for any target org as you want. It will also let you deploy the same set of metadata multiple times to any servers.
Previous, the changeset was not allowing the users to change the metadata component at the target org. However, by using the ANT tool, you can easily delete components from the target org.
Some exceptions are:
- Some of the components may not be supported for migration using the changesets but can be migrated using the ANT tool.
- These could be run from the command prompt by using some commands for calling the APIs.
- You could also automate the migration process by leveraging the capabilities of the command prompt and the source file XML structure.
- AMT tools also work with the assistance of XML files, which were created in order to use the same tool. In such XML files, we could provide information about the server like login URL, credentials, and different other attributes.
Some other key factors to know about ANT as listed by Flosum.com are:
- You may need a flexible method to deploy changes to various Salesforce environments at one time.
- You may want to start creating the Salesforce configuration on the local computer by using the text editor like Sublime Text.
Another bigger advantage that ANT offers are when you have two different members of the team working on some new stuff in their own developmental environments. At any given point, both these developers may need to put this functionality into the testing environment and further live environments. If each of these developers is working independently, then it is unknown whether their works would be further compatible with one another at the end. In such a scenario, ANT will come into help by giving the users a powerful mode of keeping two or more Salesforce Orgs in sync through the development process.
Synchronizing and comparing the development work regularly will help ensure that the incompatibilities could be found easily and earlier in the development process to be corrected instantly. This is the technique called Continuous Integration, which makes development more cost-effective and timesaving.
Salesforce also offers a declarative tool that helps move the configuration from one Salesforce Sandbox test environment to another in the Production environment. The changeset is a very straightforward tool; however, the items needed to be added one by one. While doing so, it is so easy to miss some components as the changesets could be sent between affiliated orgs only in the production org. Say, for example, you can deploy the changeset only from a production org to its sandbox or maximum two sandboxes, which are crated from the same org to send or receive the changesets. ANT can also deploy the configuration from a Salesforce environment to another fully completely unrelated environment.
The Salesforce developers may also be able to package up the changes. At undamaged packages, doing this will allow the users to take a set of codes from the Salesforce Environment #1 to deploy these to another environment, say Salesforce Environment #2. Even though this is the case, there are limitations to packaging. You have to manually create the package at the first point by adding in the components only one step at a time. Further, you have to upload the packages to Salesforce and then need to wait while the package gets synchronized across all available Salesforce nodes or servers. Once this is done, finally, you can then install the package in a new environment by enabling the new configuration.
How to get ANT?
If you need to enjoy the flexibility of moving the Salesforce configuration between different environments via a single command through the terminal, then you have to set up ANT and see if you can do it well based on your choice from the environment A to B. This tool now comes fully free to download, and you can get a handy installation guide also coming with it to make the process easier. The steps are:
- Download ANT tool from http://ant.apache.org/bindownload.cgi.
- Extract the zip file in the destination folder.
- Set the path in system variables.
- If the PATH system variable exists already, then you may add %ANT_HOME% to the path variable.
- Create a JAVA_HOME environment for the variable.
- Set the value to the destination location.
- Access the command prompt and then type ant –v.
- If you get the message as ‘Apache Ant Version compiled,’ it means you are good to go ahead with it.
One we have all components in the Unpackaged retrieve folder, then one needs just to run another target in the build.xml, which issues the deploy command. Prior to running the command, you should also try to modify the build. Properties file, which contains the username as well as the password of the target org. Next, run the command and deploy Unpackaged on command prompt. You may then end up in deploying all components in the retrieve Unpackaged folder to the target org. You are ready to start now.