DevOps for Salesforce - Priyanka Dive - E-Book

DevOps for Salesforce E-Book

Priyanka Dive

0,0
32,36 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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 Force.com 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 Force.com 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.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Seitenzahl: 127

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



DevOps for Salesforce

 

 

 

 

 

Build, test, and streamline data pipelines to simplify development in Salesforce

 

 

 

 

 

 

 

 

Priyanka Dive
Nagraj Gornalli

 

 

 

 

 

 

 

 

 

BIRMINGHAM - MUMBAI

DevOps for Salesforce

Copyright © 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Commissioning Editor: Aaron LazarAcquisition Editor: Karan Sadawana, Denim PintoContent Development Editor: Rohit Kumar SinghTechnical Editor: Ketan KambleCopy Editor: Safis EditingProject Coordinator: Vaidehi SawantProofreader: Safis EditingIndexer: Rekha NairGraphics: Alishon MendonsaProduction Coordinator: Arvindkumar Gupta

First published: September 2018

Production reference: 1290918

Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.

ISBN 978-1-78883-334-9

www.packtpub.com

 
mapt.io

Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.

Why subscribe?

Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals

Improve your learning with Skill Plans built especially for you

Get a free eBook or video every month

Mapt is fully searchable

Copy and paste, print, and bookmark content

packt.com

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.packt.com and, as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.

At www.packt.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.

Contributors

About the authors

Priyanka Dive is a DevOps engineer with substantial experience of working in the IT field on various technologies, such as Docker, Kubernetes, Jenkins, AWS, and Azure. She has worked on big data projects as a system and DevOps administrator. She has worked on Salesforce projects and implemented DevOps practices for small and large projects as well. She's a constant learner with a desire to learn anything new, and hence enjoys doing a lot of tech POCs. She is also a technical blogger who loves to write on emerging technologies. She is currently working as a DevOps Engineer Consultant for a US-based firm.

 

 

 

 

 

 

Nagraj Gornalli is a Team Leader at Persistent Systems on Salesforce projects. He has more than eight years' experience in the IT field with different technologies. He has done many certifications' such as Salesforce Certified Administrator, Salesforce Certified Platform Developer, Salesforce Certified Sales Cloud Consultant, Data Integration Specialist, Advanced Apex Specialist, Data Integration Specialist, and cloud certified professional. He started as a trailblazer and is now ranked as a "Ranger" in trailhead.

About the reviewer

Guha Arumugam is a seasoned Salesforce Developer Lead and Technical Consultant with 8 years' expertise in complex implementations. He is a self-taught Salesforce professional with 8X Salesforce certification. He has expertise in all phases of SDLC (discovery and requirement gathering, project design, development/build, testing, and deployment) and Sandbox strategies. He has a solid understanding of Agile and Scrum methodologies.

Guha is also a Salesforce developer evangelist and speaker at various Dreamins across the US. He also leads the Washington DC Salesforce Developer and Salesforce Saturday groups. He is an avid Salesforce blogger and his blog posts have helped many aspiring Salesforce professionals in certifications.

 

 

 

 

 

Packt is searching for authors like you

If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insights with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.

Table of Contents

Title Page

Copyright and Credits

DevOps for Salesforce

Packt Upsell

Why subscribe?

packt.com

Contributors

About the authors

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the color images

Conventions used

Get in touch

Reviews

Salesforce Development and Delivery Process

The typical Salesforce development process (without DevOps)

Traditional deployment

Issues with traditional deployment

Sandboxes

Eclipse for Salesforce development

Installing Eclipse Neon with the Force.com IDE plugin

Configuring a Force.com project in Eclipse

Technical and business challenges

DevOps for Salesforce?

Summary

Applying DevOps to Salesforce Applications

The need for a DevOps process in Salesforce development

The differences between DevOps for Salesforce and other tech stacks

Example – the typical DevOps process for a Java development stack

Configuring Maven in the Jenkins server

Adding a Jenkins webhook URL in a GitHub project

Continuous deployment

Installing the Publish Over SSH plugin in a Jenkins server

Summary

References

Deployment in Salesforce

What is deployment with reference to DevOps?

Deployment in Salesforce

Change Sets

Deployment connections

Deployment using Change Sets

Creating deployment connections

Creating Outbound Change Sets

Validating Inbound Change Sets

Using Quick Deploy to deploy Change Sets

Deployment using the Ant Migration Tool

Using the Force.com IDE to deploy Apex

Installing Salesforce DX plugins to Visual Studio Code

Summary

Introduction to the Force.com Migration Tool

What the Force.com Migration Tool is?

Setting up the Force.com Migration Tool

Prerequisites 

Java

Ant

Installing the Ant Migration Tool on Linux

Installing the Ant Migration Tool on Windows

Installing the Salesforce Ant Migration Tool

Retrieving metadata from a sandbox

Deploying metadata on a sandbox

Deleting files/components from a Salesforce organization using destructiveChanges.xml

How the Force.com tool helps developers and DevOps

Troubleshooting

Summary

Version Control

What is meant by SCVS?

Version control in Salesforce

Introduction to Git

Setting up a GitLab server on a Linux instance

Prerequisites

Installing the GitLab server

Creating your first project in GitLab

Working with a Git repository

Viewing the commit history

Adding a user to GitLab

Troubleshooting

Solution

Branching strategy

Handling branches using the Git CLI

Merging changes from develop to master

Using Git in the Eclipse IDE

Configuring Git and pushing code to Git

Summary

Continuous Integration

What is Jenkins?

CI using Jenkins

Installing a Jenkins server

Configuring the Ant Migration Tool with Jenkins

Configuring a Jenkins job to retrieve metadata from a sandbox

Triggering the same job again

Configuring a Jenkins job to deploy metadata on a sandbox

Summary

Continuous Testing

What is code quality?

Checking code quality using a PMD report

PMD static analysis for Salesforce Apex using a Visual Studio (VS) Code extension

PMD static analysis for Salesforce Apex using the command line

Executing Apex tests in a deployment using Jenkins

What is continuous testing?

Introducing Selenium

Setting up Selenium using Firefox

Recording tests using Selenium

Playing back the recorded tests using Selenium

Introducing Qualitia

Running test cases with Qualitia

Use case – continuous testing using Qualitia

Summary

Tracking Application Changes and the ROI of Applying DevOps to Salesforce

How to track application changes

Introducing Bugzilla

Publishing a build report to Git

How DevOps helps organizations deliver quickly

Enhanced productivity

How to measure ROI?

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

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."

Warnings or important notes appear like this.
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.

Salesforce Development and Delivery Process

Before we jump into the DevOps process for Salesforce or how we can apply DevOps to Salesforce applications, we will first have a look at how typical or traditional Salesforce development is done in organizations.