Skip to content

Getting Started With Salesforce DevOps Center – Part 1

We’ve reached 2023, and DevOps in the Salesforce ecosystem has gained full momentum. Salesforce DevOps Center entered GA in December 2022 as the answer to replace change sets for deploying changes between Salesforce environments.

I’ll admit that previously, I didn’t have much confidence in the product. But I’m always willing to give a feature a fair try. Join me as I set up DevOps Center and learn what it’s about.

What is Salesforce DevOps

DevOps (or Development Operations) combines people, processes, and technology to provide value to customers. DevOps is considered a staple in an agile development team as it allows changes to be pushed rapidly and continuously.

DevOps has been around for the greater part of the last decade but only recently has been a focal point in Salesforce in the past couple of years. This focus was added as we look to deliver value quicker.

Traditionally (or at least since the early 201x), we have used change sets to push changes between Salesforce environments. But, change sets are wrought with challenges and have become a four-letter word amongst some Salesforce professionals.

Companies such as AutoRabbit, Copado, or Gearset entered the space to make changes more manageable and have built successful businesses doing so.

But, a Salesforce native solution was missing. In 2022, Salesforce fixed that by releasing Salesforce DevOps Center as a Beta. Now, it is Generally Available (GA) as of December.

DevOps Center uses a release management approach, bundling components together. It utilizes Source/Version Control through GitHub to track metadata changes and bundle releases along the pipeline.

This allows us to track changes and follow the history of our organization as it grows over time. Since Source Control automatically tracks these changes.

Salesforce DevOps Center Drawbacks

  • Currently only supports GitHub as source control. GitHub Enterprise is not supported.
  • A bit tedious to set up. Not the worst, but certainly not the quickest.
  • No rollback features at this time. If we deploy a feature or release and need to revert, we have to create our own manual exclusion Pull Request.
  • Changes in metadata are represented by name only. No quick comparison of metadata changes to determine if we want to deploy a change.
  • No ability to back-propagate items from a hotfix branch.

Salesforce DevOps Center Advantages

  • Still an early product with plenty of room to grow. This is only the first iteration, and it’s solid. The learning curve is high, but we should see improvements as the Salesforce Product team receives feedback.
  • Will receive the most attention for changes in how Salesforce handles branch management.
  • Salesforce native. No need to manage another platform. Your security models will work directly with the center.
  • No additional cost. That alone is worth an exploration of the platform.

Getting Started With Salesforce DevOps Center

Salesforce DevOps Center is available with Enterprise, Performance, Professional, Unlimited, and Developer editions.

You may install it in your Production or Developer edition orgs. DevOps Center is unavailable to install in a Sandbox or Scratch Org; however, you may utilize them as part of your pipeline.

Enable DevOps Center

Salesforce has recently moved towards a managed package approach to extend the platform. We have seen this with Code Builder, and DevOps Center is no different. There are a few small steps to complete within your organization.

To get started, navigate to Setup and type DevOps within the quick search bar.

DevOps Center Setup

Selective DevOps Center will bring the main screen with a toggle. There’s not much to see at the moment, but enabling the toggle brings up the acceptance modal.

Enable Salesforce DevOps Center

Clicking Accept activates the Install Package button. I won’t cover the following screens as it’s the same as installing any other package from the AppExchange. However, you should install it for Admins Only.

Salesforce DevOps Center Managed Package

Once the package is installed – it takes a while. Feel free to get a cup of coffee – there are some additional steps before you can get into DevOps Center.

Create a Connected App

DevOps is powerful behind the scenes, connecting different orgs, and fully leverages the DevHub. We must set up a connected app to bridge the gaps.

Type App Manager into the Quick Find bar.

Salesforce App Manager for Connected Apps

Click New Connected App to bring up the connected app screen.

New Salesforce Connected App

The exact name of the app doesn’t have to match, but for simplicity, I recommend matching the following fields:

Click Save, which will create the Managed App itself. Now we need to assign the app some permissions.

Salesforce DevOps Center Connected App

Clicking Manage will allow us to edit the policies assigned to the application.

Manage Salesforce DevOps Center Connected App

We want to assign a permission set to the app to allow it to perform some actions on our behalf. This permission set came as part of the managed package we installed earlier.

Assign Permission Sets to Salesforce DevOps Center Connected App

See, no trickery here! The specific permission set we’re looking for is sf_devops_NamedCredentials. As the name suggests, it provides access to the Named Credentials for DevOps Center.

Assign the DevOps Center Permission Sets

There are several other Permission Sets here if you look closely. I won’t go into deep detail here. Still, I suggest looking at the grants they give to familiarize yourself with the security model.

DevOps Center User Permissions
Application User Permissions
DevOps Center Environment Variables
Access to Env Variables

Remember, we shouldn’t assign these to everyone, as least privileged access should apply.

For us to access DevOps Center, there are a few permission sets we need to assign to our DevOps Center users.

The following table comes directly from Salesforce’s Help Center and is a great reference:

DevOps Center Permission Sets
DevOps CenterThe base permission set for DevOps Center. Provides the data access and permissions needed to manage customizations for DevOps Center work items. Ability to view all connected environments and pipelines.
Assign to: all DevOps Center users, including team members also assigned the DevOps Center Manager permission set. The two permission sets don’t overlap.
DevOps Center ManagerProvides the data access and permissions needed to set up DevOps Center projects, environments, and users.
Assign to: team/project managers
DevOps Center Release ManagerProvides permissions to perform promotions through the pipeline.
Assign to: release manager and any team members who promote changes through the pipeline
sf_devops_InitializeEnvironmentsAllows managers of DevOps Center projects to manage the connections to work environments. Includes the Modify Metadata Through Metadata API Functions and Customize Application user permissions, so the manager can create NamedCredential records.
Assign to: team/project managers
sf_devops_NamedCredentialsGrants access to the named credentials needed to authenticate to environments. Created and maintained automatically by DevOps Center.
Assign to: all DevOps Center users
Salesforce DevOps Center Permission Sets

Once permissions are assigned, you can launch DevOps Center from the App Launcher. It doesn’t look like much yet, but the magic is about to happen.

Wrap Up

That completes the initial installation of the Salesforce DevOps Center. This is where the real fun begins with setting up our pipelines and connecting to our version control system.

In the next part of this series, we’ll set up our pipelines which include connecting to GitHub and any sandboxes we want as part of our process.

So, get your logins ready; you’ll want at least two sandboxes, a production org, and your GitHub login credentials.

Leave a Reply

Your email address will not be published. Required fields are marked *