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.
Steps Overview
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.
NOTE: Certain sections of the guide will appear as locked in the free preview. You can download the unlocked version of the guide in PDF format by subscribing to our “All Access” Pass through the link below.
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.
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.
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
It does, thank you very much for the clarification and thank you again for the whole article.
My pleasure Angela 🙂
Hi, Thank you for the article.
I just have one comment that was confusing to me. When you mentioned:
“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.”
I tried to do it from a Developer Edition org and is not possible, it needs to be a Sandbox. I kindly suggest clarifying it, I think you mean from a developer environment.
Hi Angela, the only requirement is that the “development environment” in the DevOps Centre needs to be a Sandbox. In this guide also, we have used the “development environment” as sandbox but all other environments are developer edition orgs which are independent environments and not related to each other.
Hope this clarifies.
Hello,
Thank you so much for your article. I’m beginner in Salesforce and I try to apply your step by step. I’ve created the app DevOps Center as you shown but when I want to open it with the app launcher, I’ve got this message : “URL No Longer Exists”.
Do you know what could be the issue?
Thanks in advance.
Hi Olivia, can you clear the browser cache and try again? If that doesn’t help, you can either log a case with Salesforce support or post a message in DevOps Center Community Group at URL https://trailhead.salesforce.com/trailblazer-community/groups/0F94S000000GuygSAC
Great articles, really helped me a lot. Thank you very much for sharing.
> The ‘Development Environment’ in DevOps Center needs to be a Sandbox environment.
Just to add what I found, I was able to set a Scratch Org to the ‘Development Environment’ in DevOps Center
My pleasure Shin. And yes, you are right – the Scratch Orgs can also be set as ‘Development Environment’. Thanks for pointing that out.
it was very nice article, easy to to understand who is beginner to salesforce as well. Thank you and keep doing more
Thank you for your feedback, Somesh. Glad to note that you found it easy to understand.
Such an amazing and valuable Content! keep up the good work!
Thank you, Jorge. Glad that you liked the guide. 🙂
Regards,
Ashish