Course info
Feb 6, 2019
1h 49m

Play by Play is a series in which top technologists work through a problem in real time, unrehearsed, and unscripted. In this course, Play by Play: Salesforce Development Lifecycle Design Practices, Tyler Mowbrey and Don Robins demonstrate how to implement an enterprise development lifecycle. This would include understanding various branching strategies, matching Salesforce environments to the strategy, metadata and supporting utilities required. Learn the concepts of Version Control and Branching, how scripts can interoperate across CLIs, and how SFDX scripting can be used to automate a Continuous Integration Pipeline to deploy metadata and code from Scratch Orgs. By the end of this course, you’ll have gained a solid understanding of the practices, options, and tools used to support parallel team development with Version Control, Continuous Integration, and Deployment Pipelines.

About the author
About the author

Tyler Mowbrey is a Salesforce Certified Application and System Architect and San Diego Developer Group Leader. He is also a Salesforce Practice Area Leader at Slalom and is responsible for leading high performing teams on global, enterprise implementations. Tyler has been working on the Salesforce platform for over 10 years in both consulting and full-time client capacities, affording him many view points on Salesforce configuration, development, and architecture best practices.

About the author

Don Robins is a well known Salesforce MVP, instructor, author, and speaker. A custom business application developer for more decades than he cares to admit, he focuses on Salesforce technical instruction and knowledge sharing.

More from the author
More courses by Don Robins
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Welcome to this Salesforce Play by Play with Pluralsight. Salesforce Play by Play is an interactive series where we sit down with Salesforce experts such as MVPs, consultants, developers, and architects to discuss common challenges faced every day by Salesforce customers. In this course, we challenged Tyler Mowbrey, practice lead with Slalom Consulting and the San Diego Salesforce Developer Group Leader to help us understand how teams can implement an enterprise development lifecycle supporting parallel development using SFDX scripting and version control system branching strategies. First, Tyler demystifies the concepts of version control and branching and digs into the concept of branching strategies. He shows the power of scripting with command line interfaces, or CLIs, such as SFDX and Bash or the equivalent terminal programs in various operating systems. Next, he sets up a demo application maintained in GitHub and creates a series of branches that he uses to demonstrate a deployment pipeline for parallel development. Along the way he shows how scripts can interoperate across, shares some tips and tricks on how to manage complex metadata such as security secrets in version control systems, and shows how SFDX scripting can be used to automate a continuous integration pipeline to deploy metadata and code from scratch orgs through sandboxes and into production. By the time we're done, you'll have gained a solid understanding of some of the practices, options, and tools used to support parallel team development with version control, continuous integration, and deployment pipelines. So whether you're a beginner, intermediate, or advanced Salesforce developer, please join us for Salesforce Development Lifecycle Design Practices. We hope you enjoy it!

Source and Branching
So with that, we're going to lead in and talk specifically around version control and branching. And to start that conversation, it probably makes sense to ask, What is version control itself? And I'd also like you to address, What is a branch? --- And that'll be the next thing. So version control is really the system that is set up so that you can store source code and actually have it managed and versioned as updates are being made. And there're different version control systems, so you'll hear like subversion or you'll hear Git. These are types of version control, and the way in which they track versioning is different across those systems. For what we're talking about, we're going to focus primarily on Git just because it's very widespread, almost ubiquitous. And so what we're going to see as we go through the process of the demo is we're going to have some source code. And we're going to put it into the version control system. And then we're going to make updates, and we're going to see how that system tracks it.