Salesforce DevOps Center is a devOps release management tool from Salesforce and will replace change sets in coming future. The whole idea behind any release management tool is to bring collaboration among all the team members so that the releases can go smoothly.
However, I’ve always had a big question in mind: will DevOps center replace App-Exchange’s release management tool? To know that answer, we need to understand exactly what DevOps Center is and how it works. Below I explain everything in more detail.
You can also read : https://sfdc247.com/2020/06/flosum-vs-autorabit-vs-copado-the-best-salesforce-devops-release-management-tool.html
Salesforce DevOps Center: What Is it and How Does It Work ?
Salesforce DevOps Center is a salesforce release management tool built on top of SFDX and utilize source member sObject. All changes will be tracked automatically by DevOps Center, and each one will be labelled by there operation such as changed, add, remove or ignore. As a result, you do not need to create package.xml and retrieve changes as DevOps Center does that for you. Many of you are probably wondering how Salesforce built this functionality. Salesforce has used the Source Member sObject Tooling API along with SFDX to build DevOps Center.
Salesforce DevOps Center combines application life cycle management and source control. According to me, this is a better way to track changes instead of using Change Sets. All the above points will enable collaboration between your Architects, Developers, Admin, Business Analyst and consultants. It will act as a source of truth for all your deployment activities.
What Are Supported Metadata Types For DevOps Center
The first question that every release manager should ask themselves before purchasing any release management tool which metadata types does it support. Most of the time all release management tool supports all metadata types but there are also certain limitations. As far as I have checked DevOps Center will support all the Metadata API Types based on this metadata coverage report. You have to look for source member column and you will see it supports all metadata api types.
Also Read: Quick Guide: Salesforce Metadata Coverage Report
Application Lifecycle Management Using Salesforce DevOps Center
How Salesforce application life cycle management Looks Like In DevOps Center
As a release manager in Salesforce, you will likely be tracking your changes in tools like Agile, Jira, VersionOne, Rally, ServiceNow, Azure User Stories, etc. In DevOps Center, you will create projects and within that project you will create user stories associated with work items to track your changes. Once the user story has been created, you need to associate it with an organization from where you will be retrieving your changes. It is necessary to authenticate your organization within the DevOps center tool in order to retrieve changes. Once you’ve authorized the organization, you can download your changes via the pull changes button, and then you can commit it to the version control repository.
To summarize the above release management flow for DevOps Center, it would look like this:
- Authenticate Salesforce Orgs: Authenticate Salesforce org from where you would like to retrieve your changes.
- ALM Solution: Create a project, work items and associate it with user story.
- Retrieve Changes: Make a change in your salesforce org and retrieve them using DevOps Center.
- Commit Changes: Once changes are retrieved, you can commit them to version control repository.
- Resolve Merge Conflicts: Resolve your merge conflicts within Version Control Repository and submit for review.
- Pull Request Approved: Once the pull request is approved, you can deploy the changes to different salesforce org.
- Promote Changes Using Pipeline: Pipelines consist of stages and stages correspond to version control systems and Salesforce organizations. There is a promote button, and clicking it will deploy the changes to the target organization.
- Pull Git Branch Locally (Optional Step): You need to pull your changes locally in your machine and then push them to target org using the command:
Validation Command: sfdx force:source:deploy -c -u orgName -p force-app -w 30
Deployment Command: sfdx force:source:deploy -u orgName -p force-app
Limitations Of Salesforce DevOps Center
Salesforce DevOps Center is not a full fletched grown solution when compared against other release management solutions like “Flosum, Copado, Gearset or AutoRabit”. Let’s look at the limitations of Salesforce DevOps Center
- Application Life Cycle Management Tools: You cannot integrate other ALM Solutions such as Jira, Azure, VersionOne, TFS etc.
- Source Control Limitations: The first version of DevOps center will only support GitHub and no other source control repository. The customers using onPremise GitHub solution for them i believe it will not be supported.
- No Backup And Rollback Feature: You can promote a change but cannot rollback a change deployed to target org.
- Branch Merge: Source control like GitHub always have limitations in terms of merging changes from different team. Hence, Collaboration will be a challenge.
- Package Based Development Not Supported: It will not support creation of Scratch orgs or unlocked packages.
- Overriding Changes When Promoting: If the same metadata is committed several times in different work items, so while promoting changes to other environments it will create lot of overwrites and merge conflicts in target branch.
- No Integration Testing: You don’t have the ability to integrate tools like selenium or other testing tools.
- No CodeScan Integration: These days everyone uses Apex PMD and I believe we don’t have any integration with PMD in DevOps Center.
If you have any questions with respect to DevOps Center you can watch this below video from salesforce:
Additionally, there are many other limitations when compared to other release management tools in App-Exchange. Since it is still in the development phase, I think in the coming years it will be a good release management product.
How To Overcome DevOps Center Limitation
As we have seen above there are a lot of limitations with respect to DevOps center but salesforce has allowed partners to create extensions in the DevOps center which will byPass these limitations.
What Is DevOps Center With Elements ?
Elements here refers to elemental cloud and in TrailblazerDX ‘2022 Salesforce introduced there first DevOps partner known by name “DevOps Center with Elements“. It will be a paid product as it will offer you advantages over current Salesforce DevOps Center solution.
We have seen a demo of elemental cloud which for me seems to be an advanced version of DevOps center. Please find the below recording of there tool which is embedded as part of DevOps center.
Frequently Asked Questions – Salesforce DevOps Center
Below I have compiled all the important questions that I have seen asked to Salesforce on TDX.
When Salesforce DevOps Centre Will Be Released ?
The public beta will be available in June 2022, followed by the general release in the fall of that year, so we can expect some announcements regarding the GA release and roadmap during Dreamforce (September 2022).
The release includes the following highlights:
- Support for hybrid/fusion teams in the first phase: Users can work directly in GitHub Cloud and DevOps Center will automatically recognize those actions and sync the project accordingly
- Ability to commit “any metadata” rather than just metadata detected as changed.
- DevOps Center will replace Change Sets in coming future.
- Ability to easily synchronize development environments, addressing a commonly reported customer pain point related to keeping dev environments up-to-date and in sync
- Providing a full history of key DevOps Center actions for improved auditability and visibility
What Is The pricing of salesforce devOps centre ?
During GA, salesforce will only offer the free/included version. They will share more information about the pricing/packaging of the paid offering as soon as its available.
How To Get All Information On Salesforce Devops Center?
There is a salesforce group and blog from salesforce which you can follow to get all the updated information about DevOps center.
Salesforce Developer Group: https://trailhead.salesforce.com/en/trailblazer-community/groups/0F94S000000GuygSAC
Salesforce Blog: https://developer.salesforce.com/developer-centers/devops
Is it possible to run only specific Apex tests when promoting to the next environment?
This will be coming by the time Salesforce GA the product.
Does DevOps center tracks all changes happening to a sandbox automatically or we still need to do like a metadata refresh within devops center?
The changes are tracked automatically in the Sandbox, using the same source tracking capability we have from the SFDX CLI today.
Will it only support GitHub or can one use BitBucket, GitLab or even on-premise version control?
In the first phase it will only support GitHub Cloud. They have plans to support others like Azure, BitBucket and Gitlab, and also on-prem, but in future GA.
How is this different from SFDX..is it behind the scene usingCLI and its more of a UI for SFDX?
It most definitely built upon SFDX! Purposefully, salesforce is trying to integrate declarative developers (Awesome Admins!) with our programmatic developers, and we’re meeting at SFDX.
Should we be expecting DevOps Center to replace change sets?
Yes, we expect DevOps Center to subsume the capabilities of Change Sets.
DevOps centre is based on source tracking object and is built on top of SFDX so it does not require refresh of sandbox, it picks all changes automatically.
Out of curiosity: Can you tell us what the architecture looks like? How do you fire sfdx commands from a change made to a Salesforce record?
We can! It’s somewhat complex though, but this question can be asked in Trailblazer Community? https://sfdc.co/devops-tb
After reading this post you would be having many questions and I would love to hear it from you and your team. Shoot any questions that you would like to discuss with me and we can find the best practice for retrieving metadata components in your project.You can always comment, contact me on LinkedIn and I will reply back you immediately
#Note: Publishing this content anywhere without consent of SFDC247 will result in lawsuit against copyright infringement