LET'S LEARN TOGETHER. THE BEAUTIFUL THING ABOUT LEARNING IS NOBODY CAN TAKE IT AWAY FROM YOU.

Salesforce Deployment Guide using Ant Migration Tool


In Salesforce, we have three different ways by which we can perform the deployment activities. They are -
  • Change Sets - This is available from Salesforce.com site.
  • By using "Deploy to force.com server" option in Eclipse.
  • Using Java based tool - ANT.
In this post, I will provide a complete deployment guide using Ant Migration Tool.

Before I start, let me tell you the prerequisite for doing deployment using Ant Migration Tool.
  • Requirement - Java: You should have java installed in your machine. To verify whether you have java installed, do the below steps -
    • Open a command prompt
    • At the prompt, type java -version. You should see something like below which indicates your installed java version
  • Requirement - Ant: You should have ant installed in your machine. To install ant, do the below steps -
    • Download ant from http://ant.apache.org/bindownload.cgi
    • Set environment variable "ANT_HOME" which should be the path of your installation. Add the bin folder to your path as well like %ANT_HOME%/bin
    • Verify by issuing the command ant -version from command prompt. You should see something like below which indicates your installed ant version.
Once you have configured Java and Ant successfully into your machine, it's time to download the Force.com Migration Tool. You can download the same by logging into your Org and then Setup | Develop | Tools and then click Force.com Migration Tool. Once downloaded, extract the zip file and copy ant-salesforce.jar file to the lib directory of your ANT installation path.

To start with the deployment process, you need mainly below files -
  • build.xml - This file will exercise the deploy and retrieve API calls
  • build.properties - This file will be used to store your Salesforce credentials and other properties in order to run sample ant tasks.
  • package.xml - This file will be used to identify what are the stuffs we are interested from org (ex. Custom Objects, Standard Object, Custom Fields, Apex Classes, VisualForce Pages etc.)
Now we will do two exercises here. In first exercise, we will retrieve/download specified items from Salesforce Org and save it in own local machine. And in the next exercise, we will upload the previously downloaded items to our Production Org.

Exercise 1 -
In this exercise, we will retrieve/download specified items from Salesforce Org and save it in own local machine. 
The build.properties file is -
The package.xml file is - 
Note - In my Sandbox, I have created a new custom object names Country (API Name: Country__c). This object is not present in my Production environment. What I am trying to do is download County__c and save it in my local machine.

The build.xml file is -

Now we will execute the ant command ant fetchNewItems to download the item from Salesforce and Save it into my local machine.
As a result, we will see that a new folder with retrieveOutput is created and content from Salesforce is copied into that folder. 
So COOL. We now know how to copy items from Salesforce Org to Local Machine. 
Just for your information, you can download not only Custom Objects, but you can download anything like Standard Object, Standard Fields, Custom Fields, Apex Classes, Visual Force Pages etc. The only thing is that you need to mention that in your package.xml file.

Below is one example package.xml file, which can be used to download -
  • All Custom Objects
  • All Apex Classes
  • All Visual Force Pages.

Now let's move to the new exercise.
Exercise 2 -
In this exercise, we will upload the previously downloaded items to our Production Org.
The build.properties file is -
The package.xml file is -
This is the same package.xml mentioned in Exercise 1.
The build.xml file is -
Now we will execute the ant command ant deploy to deploy the items present in the folder "retrieveOutput" into Production environment.

DONE. So with the above two exercises, we now know how to deploy changes from one Org to another with Ant. We can combine steps from the above two exercised to achieve the below requirement -

I am sure you are now feeling more comfortable in using Ant for deployment purpose. Please let me know if you have any specific doubts. Thanks.
Share:

7 comments:

  1. Nowadays, most of the businesses rely on cloud based CRM tool to power their business process. They want to access the business from anywhere and anytime. In such scenarios, salesforce CRM will ensure massive advantage to the business owners. Salesforce Training | Salesforce Training in Chennai

    ReplyDelete
  2. You have provided an nice article, Thank you very much for this one..DotNet Project Center in Chennai | DotNet Project Center in Velachery

    ReplyDelete
  3. Good Post! Thank you so much for sharing this pretty post, it was so good to read and useful to improve my knowledge as updated one, keep blogging…
    Best Selenium Training Institute in Chennai | Selenium Training Institute in Velachery

    ReplyDelete
  4. Excellent information with unique content and it is very useful to know about the information based on blogs
    Best VMware Training Institute in Chennai | Best VMware Training Institute in Velachery

    ReplyDelete
  5. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site...Summer Courses in Chrompet | Summer Courses in Chennai

    ReplyDelete

Never miss a post. Subscribe to get latest blog posts, right into your email box.

* indicates required

Labels

Salesforce (105) Apex (51) admin (28) visualforce (21) ADM (20) dev 501 (19) lightning (19) integration (18) learn salesforce (18) 501 (16) javascript (14) SOAP (13) tutorial (11) Certification. (10) Advanced Apex (9) Kitchener Developer Group (8) test class (8) Certification (7) Trigger (7) flow (7) security (7) unit testing (7) Advanced Admin (6) Lightning Experience (6) Sharing and Visibility (6) design pattern (6) developer (6) report (6) salesforce release (6) service cloud (6) trailhead (6) use case (6) Lightning Feature (5) New Features (5) SOQL (5) css (5) dashboard (5) debug (5) formula (5) mobile (5) solution management (5) JSON (4) Kitchener User Group (4) Lightning Web Component (4) New Feature (4) Sales Cloud (4) Salesforce DX (4) Tips (4) WebSphere (4) best practice (4) cast iron (4) component (4) deployment (4) event (4) github (4) html (4) map (4) polymer (4) profiles (4) release (4) responsive (4) tdd (4) ui (4) visual studio code (4) Architect (3) Live Chat (3) Online Event (3) Opportunity (3) Performance (3) Products (3) REST (3) Role (3) Salesforce Certification (3) Scratch Org (3) Spring 20 (3) Study Notes. (3) Summer15 (3) VS Code (3) Web Technology (3) Winter21 (3) automation tool (3) configuration (3) dynamic apex (3) license (3) mapbox (3) singleton (3) version controlling (3) AppExchange (2) Article (2) Asynchronous Apex (2) Asynchronous callout (2) Aura Framework (2) Bulkify (2) Community (2) Data Architecture and Management Certification (2) Devops (2) Distributed Version Controlling (2) ES6 (2) Eclipse (2) Einstein (2) Enhancement (2) Enterprise Territory Management (2) Financial Services Cloud (2) Force.com IDE (2) Governor Limit (2) Groups (2) IBM (2) Implicit Sharing (2) JourneyToCTA (2) Knowledge Management (2) LWC (2) Lightning Design System (2) Live Agent (2) Metadata (2) PD II (2) Price Book (2) Queueable (2) SFDX (2) SOSL (2) Sharing (2) Spring 15 (2) Summer17 (2) Territory (2) Virtual Event (2) ant (2) basic (2) chatter (2) code coverage (2) coding (2) communication (2) console (2) controller (2) documentation (2) dreamforce (2) git (2) jquery (2) logging (2) object (2) permission (2) process builder (2) salesforce1 (2) strategy (2) visual workflow (2) xml (2) Action Plan (1) Action Plan Template (1) Activity Timeline (1) Advanced Currency (1) Agent Productivity (1) Analytics (1) Apex Sharing (1) Arrow (1) Batch (1) Bots (1) Browser (1) Bulk data load (1) CTA (1) Calendar (1) Canon (1) Case Management (1) Celebration (1) Cheat Sheet (1) Classic (1) Compare (1) Confetti (1) Constructor (1) Contact Center (1) Continuation (1) Continuous Integration (1) Convert (1) Cookie (1) CumulusCI (1) Custom Metadata (1) Custom Object (1) Custom Permission (1) Customer (1) Data Model (1) DataGrid (1) DataTable (1) Dated Exchange Rate (1) Decorator Design Pattern (1) Dev Hub (1) Development (1) Diwali (1) EDA (1) ESLint (1) Education Cloud (1) Email (1) FSC (1) Function (1) Future (1) Global Gathering (1) Goals (1) Guest Access (1) Guest Profile (1) Guest User Sharing Rule (1) Guide (1) HEDA (1) Higher Education (1) Household (1) Husky (1) IDE (1) Ideas (1) Improvement (1) Invocable (1) KPIs (1) Large Data Volume (1) LastModifiedDate (1) Manage Currencies (1) Manual Sharing (1) Metrics (1) Multi Currency (1) New (1) OOPS (1) OWD (1) Omni-Channel (1) Optimize (1) Partner (1) Permission Set (1) Person Account (1) Photo (1) Pipeline (1) Platform Developer I (1) Platform Developer II (1) Presentation (1) Prettier (1) Product Schedule (1) Profile (1) Promise (1) Prototype (1) Public Site (1) Query Plan (1) QuickReference (1) Related records (1) Reports (1) Retrieve (1) Role Hierarchy (1) SAL (1) Salesfor (1) Salesforce Advisor Link (1) Salesforce Labs (1) Salesforce Optimizer (1) SalesforceDx (1) Schedule (1) Session (1) Sharing Rule (1) Sharing Sets (1) Site (1) Skills (1) Snap-ins (1) Spring 17 (1) Summer14 (1) Summer16 (1) Summer19 (1) Switch (1) SystemModStamp (1) Tile (1) Timeline (1) Unauthorized Access (1) User License (1) Users (1) Validation Rule (1) Web (1) Webservice (1) Winter'15 (1) Winter'17 (1) access (1) actionFunction (1) actionPoller (1) actionRegion (1) actionSupport (1) agile (1) app (1) approval process (1) aura (1) awesome (1) backup (1) bitbucket (1) book (1) campaign (1) change set (1) cli (1) code (1) csv (1) custom button (1) custom settings (1) customization (1) data loader (1) database (1) delegate Admin (1) describe (1) dom (1) duplicate (1) dynamic (1) dynamic form (1) email template (1) email-to-case (1) equals (1) error (1) field-level security (1) folder (1) ftp (1) generic (1) gift (1) global describe (1) hashcode (1) import wizard (1) jenkins (1) keynote (1) long running requests (1) monitoring (1) mysql (1) page layout (1) personal (1) power of one (1) record type (1) relationship (1) request (1) review (1) solution (1) sub-tab (1) survey (1) tab (1) username (1) workflow (1)

Popular Posts

Total Pageviews

Contact Me

Name

Email *

Message *