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.
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.
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 follow the instructions in this book, you need a Windows system with the following software installed:
- Java
- Eclipse
- Git
- Jenkins
- ANT
- PMD
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.
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."
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.
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.