Book Image

DevOps for Salesforce

By : Priyanka Dive, Nagraj Gornalli
Book Image

DevOps for Salesforce

By: Priyanka Dive, Nagraj Gornalli

Overview of this book

Salesforce is one of the top CRM tools used these days, and with its immense functionalities and features, it eases the functioning of an enterprise in various areas of sales, marketing, and finance, among others. Deploying Salesforce applications is a tricky event, and it can get quite taxing for admins and consultants. This book addresses all the problems that you might encounter while trying to deploy your applications and shows you how to resort to DevOps to take these challenges head on. Beginning with an overview of the development and delivery process of a Salesforce app, DevOps for Salesforce covers various types of sandboxing and helps you understand when to choose which type. You will then see how different it is to deploy with Salesforce as compared to deploying with another app. You will learn how to leverage a migration tool and automate deployment using the latest and most popular tools in the ecosystem. This book explores topics such as version control and DevOps techniques such as Continuous Integration, Continuous Delivery, and testing. Finally, the book will conclude by showing you how to track bugs in your application changes using monitoring tools and how to quantify your productivity and ROI. By the end of the book, you will have acquired skills to create, test, and effectively deploy your applications by leveraging the features of DevOps.
Table of Contents (14 chapters)
Title Page
Packt Upsell
Contributors
Preface
Index

Preface

Salesforce, with its immense functionalities and features, eases the functioning of an enterprise in various areas, such as sales, marketing, and finance. Deploying Salesforce applications is a tricky business, and it can get quite taxing for administrators and consultants. This book will help you implement DevOps for Salesforce and explore its features. You will learn DevOps principles and techniques for enterprise operations in Salesforce and see how to implement continuous integration and continuous delivery using tools such as Jenkins and Ant scripts. You will also learn how to use the Force.com Migration Tool and Git to achieve versioning in Salesforce.

Who this book is for

If you are a Salesforce developer, consultant, or manager who wants to learn about DevOps tools and set up pipelines for small as well as large Salesforce projects, this book is for you.

What this book covers

Chapter 1, Salesforce Development and Delivery Process, gives an overview of the traditional Salesforce development process, including the environments used and how to set up an environment with Eclipse and Force.com IDE. We will also discuss sandboxes and types of sandbox.

Chapter 2, Applying DevOps to Salesforce Applications, discusses the need for DevOps in Salesforce projects and what challenges we might face while handling the development and deployment of large Salesforce projects.

Chapter 3, Deployment in Salesforce, shows how to deploy Salesforce code from one sandbox to another sandbox, from one sandbox to production, and from one organization to another organization. We will learn about the different types of code deployment and how to use them depending on the type of project.

Chapter 4, Introduction to the Force.com Migration Tool, discusses the Force.com Migration Tool and how to set up the tool in your environment. We will also see a sample deployment of metadata to a developer or test sandbox using the Ant Migration Tool. 

 

Chapter 5, Version Control, helps you to understand source code versioning systems and their types. We will mainly focus on distributed Git version control. We will also learn about using Git with Salesforce projects and saving Salesforce metadata to Git.

Chapter 6, Continuous Integration, shows how to automate backups for Salesforce metadata and push code to the Git repository using Jenkins. We will also learn how to set up our own Jenkins server and configure it to retrieve metadata from our Salesforce sandbox. 

Chapter 7, Continuous Testing, talks about code quality and continuous testing. We will discuss the tools used in automation testing, such as Selenium and Qualitia. We will also look at a test case in a sample Salesforce application using record and playback in Selenium.

Chapter 8, Tracking Application Changes and the ROI of Applying DevOps to Salesforce, discusses the basics of Bugzilla and how to track issues when they are reported by a tester or user. We will also learn how to enhance productivity and measure ROI.

To get the most out of this book

To follow the instructions in this book, you need a Windows system with the following software installed:

  • Java
  • Eclipse
  • Git
  • Jenkins
  • ANT
  • PMD

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://www.packtpub.com/sites/default/files/downloads/9781788833349_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Enter apex stat into the command panel."

A block of code is set as follows:

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <version>42.0</version>
</Package> 

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <version>42.0</version>
</Package> 

Any command-line input or output is written as follows:

$pmd -d "Source Path" -R apex-ruleset -language apex -f CSV > "Destination Ptah\ReportName.csv"

Bold: Indicates a new term, an important word, or words that you see on screen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Enter the Project name and Organization Settings details for connection."

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packt.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packt.com.