What is Salesforce DevOps Center?
DevOps Center is a new product/tool released by Salesforce in June 2022. In simple terms, this tool allows you to deploy metadata from one Salesforce Org to another. For example, deploy custom objects, apex classes, profiles etc. from Sandbox to Production. Traditionally we have used “Change Sets” to perform this task.
DevOps Center incorporates the modern DevOps best practices with a centralized user interface that is easy, visual and simple to understand (please refer to the screenshots below).
DevOps Center, at some point in future, will replace change sets. With this in mind, Salesforce is not planning to further enhance Change Sets at this point.
It is planned to be available as a “Freemium” offering. At GA (targeted in fall of 2022), Salesforce will only offer the free/included version, which is available with Professional, Enterprise, Unlimited, Developer, Performance editions. Pricing and packaging for the paid offering, which will be released post-GA, are TBD.
Rundown of Different Deployment Options
To recap, here is a quick rundown of different deployment options for Salesforce.
- DevOps Center
- Salesforce CLI
- VS Code with Salesforce Extensions & Salesforce CLI
- ANT Migration Tool
- Change Sets
- Manually build components in each Org
- Force.com IDE in Eclipse
- 3rd party tools like AutoRabit, Copado, GearSet etc.
Benefits of Using DevOps Centre
- DevOps Center brings some discipline and rigor to the entire development and release management process in Salesforce with the concept of ‘Work Items’ & ‘Pipeline’ and provides end to end visibility.
- Every unit of work in your implementation needs to be defined as a ‘Work Item’, which then goes through the various stages in the development process.
- ‘Work Item’ stages include the ‘In Review’ & ‘Ready to Promote’ stages that bakes in the review process in development cycle.
- Once the work item is completed and reviewed, it gets deployed in a sequence as per the stages & environments defined in your pipeline. This means that you can’t skip stages and deploy to upstream environments directly. Like you can’t deploy from Development to Production directly without going through the UAT.
- DevOps Center maintains the complete history of individual work items. Right from the initial commit to production deployment and everything in between.
- DevOps Center makes your deployment process visual and easy to understand. You can easily track and understand which changes have been deployed where.
- Similar to Work Item History, DevOps Center maintains the complete history of the pipeline too, recording what was deployed where and when.
- With DevOps Center you can deploy changes between completely unrelated org. Like deploy changes from Developer Edition Org to Sandbox or Production and vice versa. With change sets you could only deploy changes between Sandboxes & Production Org.
- DevOps Center leverages the ‘Source Tracking’ feature of Sandboxes and can identify the changes made in the Development environment. With this you do not need to keep track of all the changed components in a spreadsheet and then add them manually (unlike change sets). DevOps Center will show all the changed components and will let you pick and choose.
- DevOps Center also supports ‘Removal’ of metadata components. This means that if you delete a custom field in the Development Environment, it will also be deleted from other environments. Traditionally this has been a separate task using destructiveChanges.xml.
- DevOps Center uses Source Control (Git). Source control maintains the complete history of all the changes in the metadata components. So, if things don’t work as expected after the changes, you can instantly compare the changes and troubleshoot.
- DevOps Center uses source control behind the scenes, and manages it on its own in terms of creating branches, submitting pull requests, merging branches etc. You don’t need to be familiar with using source control (though that will certainly help) and interact with it directly.
Ok, now that we have some understanding of DevOps Center, let’s dip our toe in the water. Here is a detailed and exhaustive step-by-step guide on getting started from scratch. This guide covers the following steps:
- Enable & Install DevOps Center
- Create Connected App
- Assign DevOps Center Permission Sets to Users
- Create a GitHub Account
- Create a Project in DevOps Center
- Create Environments
- Set Up Your Pipeline
- Create Work Item
- Build Something in Development Environment
- Pull Changes & Commit to Repository
- Complete the Review Process
- Promote Changes to UAT
- Promote Changes to Production
- Uninstall DevOps Center
I reckon it should take about 60-90 minutes for you to complete hands-on from start to end.
Other Observations & Findings
- DevOps Center will be a free/included and paid offering. At GA, Salesforce will only offer the free/included version, which is available with Professional, Enterprise, Unlimited, Developer, Performance editions. Pricing and packaging for the paid offering, which will be released post-GA, are TBD.
- DevOps Center is targeting to be in GA in fall of 2022
- You can install DevOps Center in the org that is the final release org in your pipeline (i.e. Production), or in another org that is unrelated to the orgs in the pipeline. However, it’s not available in sandboxes.
- If you want to add your team members users to your DevOps Center, you can create them as users with License “Salesforce Limited Access – Free”
- The ‘Development Environment’ in DevOps Center needs to be a Sandbox environment. I was not able to use a Developer Edition Org
- Current release of DevOps Center requires that you use it with a cloud-based, GitHub-hosted, github.com account. Other services providers are not supported in the current release.
- Currently the deployments are manual with the click of a button. Didn’t see an option to deploy automatically like what CICD offers.
- As per DevOps Center FAQ (link below), at some point in future it will replace change sets. Salesforce is not planning to make any further enhancements to Change Sets at this point.
Interested in a course on Mastering DevOps Center?
If a self-paced video-based training course on mastering DevOps Center will be of interest to you, please register your interest in the form below. If we receive enough interest in the course, we will launch the course and let you know.
References & Useful URLs
- Salesforce Developer Blog Post – DevOps Center is Now in Open Beta!
- Salesforce Admin Blog Post – Why the New DevOps Center in Salesforce Is Awesome for Admins
- Quip Document – DevOps Center FAQ
- Guide – Installation & Configuration Guide
- Guide – User’s Guide
- Summer ’22 Release Notes – DevOps Center (Beta)
- Trailblazer Community Group – DevOps Center
Want to Use DevOps Center in Your Projects?
We can help you to analyze, design, plan, and set up DevOps Center for your Salesforce Projects along with providing training & coaching to the team. To initiate a discussion, just book a 30-minute free discovery call at this URL.