DevOps for Salesforce

Book description

Implement DevOps for Salesforce and explore its features

Key Features

  • Learn DevOps principles and techniques for enterprise operations in Salesforce
  • Implement Continuous Integration and Continuous Delivery using tools such as Jenkins and Ant script
  • Use the Migration Tool and Git to achieve versioning in Salesforce

Book Description

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.

What you will learn

  • Implement DevOps for Salesforce and understand the benefits it offers
  • Abstract the features of MigrationTool to migrate and retrieve metadata
  • Develop your own CI/CD Pipeline for Salesforce project
  • Use Qualitia to perform scriptless automation for Continuous Testing
  • Track application changes using Bugzilla
  • Apply Salesforce best practices to implement DevOps

Who this book is for

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

Publisher resources

View/Submit Errata

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. DevOps for Salesforce
  3. Packt Upsell
    1. Why subscribe?
  4. Contributors
    1. About the authors
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the color images
      2. Conventions used
    4. Get in touch
      1. Reviews
  6. Salesforce Development and Delivery Process
    1. The typical Salesforce development process (without DevOps)
    2. Traditional deployment
      1. Issues with traditional deployment
    3. Sandboxes
    4. Eclipse for Salesforce development
      1. Installing Eclipse Neon with the IDE plugin
      2. Configuring a project in Eclipse
    5. Technical and business challenges
    6. DevOps for Salesforce?
    7. Summary
  7. Applying DevOps to Salesforce Applications
    1. The need for a DevOps process in Salesforce development
    2. The differences between DevOps for Salesforce and other tech stacks
    3. Example – the typical DevOps process for a Java development stack
      1. Configuring Maven in the Jenkins server
      2. Adding a Jenkins webhook URL in a GitHub project
      3. Continuous deployment
        1. Installing the Publish Over SSH plugin in a Jenkins server
    4. Summary
    5. References
  8. Deployment in Salesforce
    1. What is deployment with reference to DevOps?
    2. Deployment in Salesforce
      1. Change Sets
      2. Deployment connections
      3. Deployment using Change Sets
        1. Creating deployment connections
        2. Creating Outbound Change Sets
        3. Validating Inbound Change Sets
        4. Using Quick Deploy to deploy Change Sets
    3. Deployment using the Ant Migration Tool
    4. Using the IDE to deploy Apex
    5. Installing Salesforce DX plugins to Visual Studio Code
    6. Summary
  9. Introduction to the Migration Tool
    1. What the Migration Tool is?
    2. Setting up the Migration Tool
      1. Prerequisites 
        1. Java
        2. Ant
        3. Installing the Ant Migration Tool on Linux
        4. Installing the Ant Migration Tool on Windows
        5. Installing the Salesforce Ant Migration Tool
    3. Retrieving metadata from a sandbox
    4. Deploying metadata on a sandbox
    5. Deleting files/components from a Salesforce organization using destructiveChanges.xml
    6. How the tool helps developers and DevOps
    7. Troubleshooting
    8. Summary
  10. Version Control
    1. What is meant by SCVS?
    2. Version control in Salesforce
    3. Introduction to Git
    4. Setting up a GitLab server on a Linux instance
    5. Prerequisites
    6. Installing the GitLab server
    7. Creating your first project in GitLab
    8. Working with a Git repository
    9. Viewing the commit history
    10. Adding a user to GitLab
    11. Troubleshooting
      1. Solution
    12. Branching strategy
    13. Handling branches using the Git CLI
    14. Merging changes from develop to master
    15. Using Git in the Eclipse IDE
      1. Configuring Git and pushing code to Git
    16. Summary
  11. Continuous Integration
    1. What is Jenkins?
      1. CI using Jenkins
    2. Installing a Jenkins server
    3. Configuring the Ant Migration Tool with Jenkins
    4. Configuring a Jenkins job to retrieve metadata from a sandbox
      1. Triggering the same job again
    5. Configuring a Jenkins job to deploy metadata on a sandbox
    6. Summary
  12. Continuous Testing
    1. What is code quality?
      1. Checking code quality using a PMD report
        1. PMD static analysis for Salesforce Apex using a Visual Studio (VS) Code extension
        2. PMD static analysis for Salesforce Apex using the command line
    2. Executing Apex tests in a deployment using Jenkins
    3. What is continuous testing?
    4. Introducing Selenium
      1. Setting up Selenium using Firefox
      2. Recording tests using Selenium
      3. Playing back the recorded tests using Selenium
    5. Introducing Qualitia
      1. Running test cases with Qualitia
        1. Use case – continuous testing using Qualitia
    6. Summary
  13. Tracking Application Changes and the ROI of Applying DevOps to Salesforce
    1. How to track application changes
    2. Introducing Bugzilla
    3. Publishing a build report to Git
    4. How DevOps helps organizations deliver quickly
    5. Enhanced productivity
    6. How to measure ROI?
    7. Summary
  14. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: DevOps for Salesforce
  • Author(s): Priyanka Dive, Nagraj Gornalli
  • Release date: September 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781788833349