Articles
3/11/2021
10 minutes

Copado Continuous Delivery for #AwesomeAdmins

Written by
Jen Nelson
Table of contents

About six months ago, I was hacked. Why, you ask? I was hacked because no one had ever told me that, I, Jen Nelson, #AwesomeAdmin, was actually a part of something bigger – the DevOps Process!

All along, I had been:

  • Tracking Functional and Technical Requirements
  • Backing up my Sandboxes with either a 3rd-party Tool or creating Clones
  • Running my Apex Tests and Manual Smoke Tests
  • Building my Change Sets
  • Validating my Change Sets
  • Deploying my Change Sets
  • Doing Post-Deployment “Shakeouts”

Unfortunately, I was doing all of my DevOps Process in siloed tools – Excel, Quip, SmartSheet and home-grown Apps.  I was not as efficient as I should have been, and I was far too open to the possibility of errors, even though I was personally working very hard and being very thorough.

Furthermore, although I was tightly collaborating with other Resources, such as Project Managers, Developers and QA Team Members, each of them had their own siloed tools, most of which I did not have access to, nor they to each other’s tools.

Then, Copado found me, and I learned all about the Top 10 Copado Features for #AwesomeAdmins and I realized just how involved in DevOps I actually was.

Copado brings all DevOps Resources into a centralized DevOps Platform that is built 100% native to Salesforce, has Agile Planning, Git for Version Control, Merge Conflict Resolution, a whole array of Quality Gates to ensure that our Metadata Changes are of high quality, Pre- and Post-Deployment Steps, Back Promotions to keep lower environments in sync and over 50 out-of-the-box Reports and Dashboards for monitoring.

But, as I often say in Demos, “It gets even better!”

Let me introduce you to Copado Continuous Delivery (CCD)

First, let’s level-set on what exactly Continuous Delivery means and how it applies to us, the #AwesomeAdmins.

If you search for “Continuous Delivery” you will find many different websites devoted to “CD/CDE” or its relatives “Continuous Integration (CI)” and “Continuous Deployment” (acronym is also CD by the way – don’t you just love technology acronyms?!), but I cannot seem to find one global authority, so, for my understanding, I give credit to Jez Humble and his Blog https://continuousdelivery.com/, as I believe he best sums up the “what” of Continuous Delivery:

“Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.”

As #AwesomeAdmins, we are constantly in flux to balance:

  • Getting new features in the hands of our Users
  • Getting config changes, enhancements and updates in the hands of our Users
  • Resolving bugs for our Users
  • Proving out new Use Cases and Functionality to our Users

And, co-mingled with all 4 of these bullets, we make every effort to ensure that all we deliver to our Users is complete, is working as expected, has met a need and is completed in a timely manner.  Oh, yes, and our flux typically spans about 20 – 30 new features, enhancements/updates, bug fixes and experiments at any given time.

Copado’s Winter ‘20 Release introduced some truly amazing CI/CD Enhancements that will allow us, the #AwesomeAdmins, as well as our fellow DevOps Team Members, to deliver our changes to Production in a quick, safe and sustainable way! (Hey, I’ve heard that somewhere before!)

CCD Connection Behaviors

Connection Behaviors allow us to take our Pipeline to a whole new level.  For each Upper Environment to all of its Lower Environments, or even at each discrete Connection between one Lower and one Upper Environment, we can now take our Pipeline from the default Manual behavior, using our Pipeline Manager, to Automated behavior that is either immediate or via a Scheduled Job.

Say, for example, we have 4 Dev Sandboxes that feed into UAT and Production, and we have a Hotfix Environment hanging off of Production.

Our Devs and Admins are each working on different pieces of our metadata in their own Sandboxes, as we would expect when following our DevOps Best Practices, but there is some upstream-downstream impact of the work in each Dev Sandbox on the changes that are being made in the sibling Dev Sandboxes.  

Our faithful Release Manager, Terry, has been logging in around 7pm every night to Back Promote changes pushed to UAT back down into the sibling Dev Sandboxes so that everyone remains in sync, but our Devs and Admins are moving so quickly that the Back Promotions are needed sooner and more frequently.  

Terry has even started using Mass Back Promote to sync all 4 Dev Sandboxes to UAT at one time, which makes the process much faster for Terry at 7pm, but doesn’t solve the challenge for the 4 Admins and Devs who have to wait until 7pm to get everyone else’s changes for the day.

Then Terry saw this great video on YouTube: Copado Continuous Delivery

In just a few simple steps Terry became a hero by setting the Connection behavior for UAT so that all User Stories promoted into UAT, regardless of which Dev Sandbox they promoted up from, will Automatically Back Promote into the other 3 Dev Sandboxes!

Step 1. Enable Change Data Capture

Enable Change Data Capture on User Stories and Promotions in Salesforce Setup

Step 2. Click the Shield Icon on an Upper Environment (here, UAT)

Navigate to the Copado Pipeline Manager and click Configure Pipeline; then click the shield icon on UAT to open the Environment Connection Behavior for UAT

Step 3. Update the Connection’s Back Promotion Behavior from Manual to Automated and Save

Ahhh, but guess what?  Yes, it’s true…”It gets even better!”

CCD Metadata Groups

With Copado, you can configure your own Metadata Groups, basically your own unique categorization of key Metadata Types; then, within your CCD configuration, Copado allows you to associate Quality Gates to each Metadata Group.  

Give the Group a Name, then add any Metadata Components to the Metadata Group.

As an example, on the Metadata Group shown below, we have created a Group called “Apex Classes and Triggers” and we have defined this Group to include Metadata Types ApexClass and ApexTrigger.

Click here to read more about Metadata Groups.

CCD Quality Gates

Within Copado CCD, we also have the opportunity, on any Connection Behavior, to add Quality Gates to be enforced for specific Metadata Groups on our forward Deployments.  This ensures that key Quality Gates for key Metadata Types are not overlooked and our Metadata is of high quality before it moves to the next Salesforce Environment.

Within our CCD Metadata Groups and our CCD Connection Behaviors, we can add any of our standard Quality Gates:

Click here to read more about Quality Gates.

Copado Continuous Delivery – Bring it all Together

Fast-forward and our DevOps Team has been humming along nicely with Terry’s Automation of the Back Promotions from UAT to keep all of our Developer Sandboxes in sync.

Now, our DevOps Team is ready to take CCD to the next level and they have asked Terry to update the Connection Behaviors between the Dev1, Dev2 and Dev4 Sandboxes and UAT, so that, any time a DevOps Resource submits their User Story for Promotion from one of these 3 Sandboxes, the User Story is Automatically Deployed forward to UAT and, if the User Story includes Apex Classes/Apex Triggers, two important Quality Gates will be automatically triggered and must successfully pass before the automated forward Deployment occurs:

  • Apex Test Classes / Code Coverage
  • Static Code Analysis

Terry wants to keep the forward Deployments from UAT to Production running through the Release Manager so there will not be any edits made to that Connection Behavior.  

Additionally, the DevOps Resource in Dev3 is not ready to have their User Stories Auto-Deploy just yet, so the Team has agreed that the Dev3 Resource will simply use the standard “Promote & Deploy” checkbox on the User Story, as is occurring today.

To allow this flexibility across the Team, Terry can click on the shield icon of a discrete connection, say between Dev4 and UAT as shown below, to configure the discrete Connection Behavior:

Within the discrete Connection Behavior, Terry will update both the forward Deployment Behavior and the Back Promotion Behavior to be Automated:

Then, as a final step, at the bottom of the discrete Connection Behavior, Terry will add the two Quality Gates, both for Metadata Group “Apex Classes and Triggers”:

Terry has now reached Mega-Hero status amongst our DevOps Team, the Team’s Release Velocity is more frequent and our Business Users’ confidence in the Quality of the Team’s Metadata Changes remains high.

Want to learn more about Copado Continuous Delivery (CCD)?

To learn more about Copado Continuous Delivery, we encourage you to explore these additional Resources:

Want to join the Team?

Book a demo

About The Author

Director, Product Enablement

Jen Nelson is a 20-year veteran of the Salesforce ecosystem, a current Salesforce MVP Hall of Fame member and has 30+ years experience in DevOps. Jen has been with Copado for 4 years and is the Director of Product Technical Enablement.

Making DevOps Easier and Faster with AI
Chapter 5: Automated Testing
Reimagining Salesforce Development with Copado's AI-Powered Platform
Planning User Acceptance Testing (UAT): Tips and Tricks for a Smooth and Enjoyable UAT
What is DevOps for Business Applications
Copado Integrates Powerful AI Solutions into Its Community as It Surpasses the 100,000 Member Milestone
Testing End-to-End Salesforce Flows: Web and Mobile Applications
How to get non-technical users onboard with Salesforce UAT testing
DevOps Excellence within Salesforce Ecosystem
Best Practices for AI in Salesforce Testing
6 testing metrics that’ll speed up your Salesforce release velocity (and how to track them)
Chapter 4: Manual Testing Overview
AI Driven Testing for Salesforce
AI-powered Planning for Salesforce Development
Chapter 3: Testing Fun-damentals
Salesforce Deployment: Avoid Common Pitfalls with AI-Powered Release Management
Exploring DevOps for Different Types of Salesforce Clouds
Copado Launches Suite of AI Agents to Transform Business Application Delivery
What’s Special About Testing Salesforce? - Chapter 2
Why Test Salesforce? - Chapter 1
Continuous Integration for Salesforce Development
Comparing Top AI Testing Tools for Salesforce
Avoid Deployment Conflicts with Copado’s Selective Commit Feature: A New Way to Handle Overlapping Changes
From Learner to Leader: Journey to Copado Champion of the Year
Enhancing Salesforce Security with AppOmni and Copado Integration: Insights, Uses and Best Practices
The Future of Salesforce DevOps: Leveraging AI for Efficient Conflict Management
A Guide to Using AI for Salesforce Development Issues
How to Sync Salesforce Environments with Back Promotions
Copado and Wipro Team Up to Transform Salesforce DevOps
DevOps Needs for Operations in China: Salesforce on Alibaba Cloud
What is Salesforce Deployment Automation? How to Use Salesforce Automation Tools
Maximizing Copado's Cooperation with Essential Salesforce Instruments
Future Trends in Salesforce DevOps: What Architects Need to Know
From Chaos to Clarity: Managing Salesforce Environment Merges and Consolidations
Enhancing Customer Service with CopadoGPT Technology
What is Efficient Low Code Deployment?
Copado Launches Test Copilot to Deliver AI-powered Rapid Test Creation
Cloud-Native Testing Automation: A Comprehensive Guide
A Guide to Effective Change Management in Salesforce for DevOps Teams
Building a Scalable Governance Framework for Sustainable Value
Copado Launches Copado Explorer to Simplify and Streamline Testing on Salesforce
Exploring Top Cloud Automation Testing Tools
Master Salesforce DevOps with Copado Robotic Testing
Exploratory Testing vs. Automated Testing: Finding the Right Balance
A Guide to Salesforce Source Control
A Guide to DevOps Branching Strategies
Family Time vs. Mobile App Release Days: Can Test Automation Help Us Have Both?
How to Resolve Salesforce Merge Conflicts: A Guide
Copado Expands Beta Access to CopadoGPT for All Customers, Revolutionizing SaaS DevOps with AI
Is Mobile Test Automation Unnecessarily Hard? A Guide to Simplify Mobile Test Automation
From Silos to Streamlined Development: Tarun’s Tale of DevOps Success
Simplified Scaling: 10 Ways to Grow Your Salesforce Development Practice
What is Salesforce Incident Management?
What Is Automated Salesforce Testing? Choosing the Right Automation Tool for Salesforce
Copado Appoints Seasoned Sales Executive Bob Grewal to Chief Revenue Officer
Business Benefits of DevOps: A Guide
Copado Brings Generative AI to Its DevOps Platform to Improve Software Development for Enterprise SaaS
Celebrating 10 Years of Copado: A Decade of DevOps Evolution and Growth
Copado Celebrates 10 Years of DevOps for Enterprise SaaS Solutions
5 Reasons Why Copado = Less Divorces for Developers
What is DevOps? Build a Successful DevOps Ecosystem with Copado’s Best Practices
Scaling App Development While Meeting Security Standards
5 Data Deploy Features You Don’t Want to Miss
Top 5 Reasons I Choose Copado for Salesforce Development
How to Elevate Customer Experiences with Automated Testing
Getting Started With Value Stream Maps
Copado and nCino Partner to Provide Proven DevOps Tools for Financial Institutions
Unlocking Success with Copado: Mission-Critical Tools for Developers
How Automated Testing Enables DevOps Efficiency
How to Keep Salesforce Sandboxes in Sync
How to Switch from Manual to Automated Testing with Robotic Testing
Best Practices to Prevent Merge Conflicts with Copado 1 Platform
Software Bugs: The Three Causes of Programming Errors
How Does Copado Solve Release Readiness Roadblocks?
Why I Choose Copado Robotic Testing for my Test Automation
How to schedule a Function and Job Template in DevOps: A Step-by-Step Guide
Delivering Quality nCino Experiences with Automated Deployments and Testing
Best Practices Matter for Accelerated Salesforce Release Management
Maximize Your Code Quality, Security and performance with Copado Salesforce Code Analyzer
Upgrade Your Test Automation Game: The Benefits of Switching from Selenium to a More Advanced Platform
Three Takeaways From Copa Community Day
Cloud Native Applications: 5 Characteristics to Look for in the Right Tools
Using Salesforce nCino Architecture for Best Testing Results
How To Develop A Salesforce Testing Strategy For Your Enterprise
What Is Multi Cloud: Key Use Cases and Benefits for Enterprise Settings
5 Steps to Building a Salesforce Center of Excellence for Government Agencies
Salesforce UI testing: Benefits to Staying on Top of Updates
Benefits of UI Test Automation and Why You Should Care
Types of Salesforce Testing and When To Use Them
Copado + DataColada: Enabling CI/CD for Developers Across APAC
What is Salesforce API Testing and It Why Should Be Automated
Machine Learning Models: Adapting Data Patterns With Copado For AI Test Automation
Automated Testing Benefits: The Case For As Little Manual Testing As Possible
Beyond Selenium: Low Code Testing To Maximize Speed and Quality
UI Testing Best Practices: From Implementation to Automation
How Agile Test Automation Helps You Develop Better and Faster
Salesforce Test Cases: Knowing When to Test
DevOps Quality Assurance: Major Pitfalls and Challenges
11 Characteristics of Advanced Persistent Threats (APTs) That Set Them Apart
7 Key Compliance Regulations Relating to Data Storage
Go back to resources
There is no previous posts
Go back to resources
There is no next posts

Explore more about

CI/CD
Articles
December 6, 2024
Making DevOps Easier and Faster with AI
Articles
November 19, 2024
Chapter 5: Automated Testing
Articles
November 18, 2024
Reimagining Salesforce Development with Copado's AI-Powered Platform
Articles
November 8, 2024
Planning User Acceptance Testing (UAT): Tips and Tricks for a Smooth and Enjoyable UAT

Activate AI — Accelerate DevOps

Release Faster, Eliminate Risk, and Enjoy Your Work.
Try Copado Devops.

Resources

Level up your Salesforce DevOps skills with our resource library.

Upcoming Events & Webinars

Learn More

E-Books and Whitepapers

Learn More

Support and Documentation

Learn More

Demo Library

Learn More