Resources /
Blog

How to Migrate from Salesforce Change Sets to Automated DevOps

Submit your details to get a book

9
Min Read
Resources /
Blog

How to Migrate from Salesforce Change Sets to Automated DevOps

Download

Submit your details to get a book

9
Min Read
How to Migrate from Salesforce Change Sets to Automated DevOps, title graphic

To move to a Salesforce change sets alternative, snapshot your production metadata into version control and map your sandboxes to pipeline stages. Then run one team's release through the new pipeline while everyone else stays on change sets. Add tests, approvals and rollback, move the remaining teams over, and switch off inbound change sets in production.

Do it in phases rather than over a single weekend.

A phased move lets you compare the new process against the old one on real releases before anyone loses the fallback. Still deciding whether to move at all? Start with where change sets hit their limits.

When is it time to replace change sets?

Salesforce is plain about what change sets are. They send customizations you made in Setup from one org to another over a deployment connection, and only between orgs tied to the same production org. Change sets move metadata, not records.

For one admin shipping a new picklist and a page layout every few weeks, that's fine.

It stops being fine in a few recognizable ways. The first is a failed release you can't take back, because Salesforce says outright that once a change set deployment completes, it can't be rolled back. Undoing it means building a second change set by hand that restores the old version.

Then there's the rebuild tax. Anything not on the supported component list has to be recreated manually in the target org by repeating the original steps, and standard objects themselves can't be added to a change set, though many customizations to them, such as custom fields, can.

Other signs show up more slowly:

  • Every release means hunting down dependencies by hand, and a single Apex class can pull in classes and objects it never references directly.
  • An auditor asks who approved a validation rule change, and nobody can show them. A unified audit trail records who changed what and who signed it off.
  • Release night stretches because an inbound change set deploys as a whole, not component by component, and a failed validation won't restart itself. Someone fixes, re-uploads, waits, tries again.

Recognize two of those? Then the hidden costs of manual deployments are already on your books.

Which Salesforce change sets alternative fits your team?

You have three realistic options. All of them swap the change set for version control plus a pipeline. The difference is how much of the plumbing you own.

Option What it is Good fit What you take on
Lifecycle Center (formerly DevOps Center) Salesforce's built-in release tool: work items, a pipeline of stages, and commits from inside the org through DX Inspector Teams that want a free first step and already use GitHub or Bitbucket Cloud A GitHub.com cloud plan or Bitbucket Cloud account for source control. Backup is a separate product
Salesforce CLI plus Git plus a CI server A pipeline you script yourself on the Metadata API Developer-heavy teams that want full control The scripts, runners and test orchestration are yours to maintain. Each Metadata API deploy caps at 10,000 files
A Salesforce DevOps platform Metadata-aware version control, pipelines, approvals, rollback and backup in one product Multi-team, multi-org or regulated releases A license and onboarding

Lifecycle Center is a real step up from change sets. It's free on Professional, Enterprise, Performance, Unlimited and Developer editions (Professional needs API access), and unlike change sets it keeps work in source control and moves it through a staged pipeline with peer review. Where it runs out of road is covered in our Lifecycle Center guide and in how Flosum compares with Salesforce's own tooling. Want the wider field? See our roundup of Salesforce DevOps tools.

Whichever you choose, the migration itself follows the same steps.

How do you migrate from change sets, step by step?

There are six phases. The first three are prep work and don't change production. Phases four to six are where your team's habits change.

1. Write down how you deploy today

Before you open a new tool, open Setup > Deployment Status. It lists change sets and Metadata API deployments from the last 30 days, so export or note what you need before it rolls off. Count the change sets that reached production and how many failed validation on the way. Sketch which sandbox feeds which. Note who builds, who reviews and who presses Deploy.

And list every component somebody rebuilt by hand because it wasn't in the picker.

This is your baseline. You'll need it later to show whether the switch paid off.

2. Snapshot production into version control

Retrieve your production metadata and commit it as day one of your repository or pipeline. From here on, this snapshot is what every sandbox gets compared against. Salesforce describes Lifecycle Center the same way, as a single source of truth that connects your development environments to a source control repository.

If anyone has ever made a fix directly in production, this snapshot is the only place it gets captured. Catching that kind of drift is the point of version control built for Salesforce metadata.

3. Map sandboxes to pipeline stages

In Lifecycle Center, each pipeline stage includes a branch and a target org, and most pipeline tools follow the same pattern. Decide which sandbox plays which role, and refresh any that have drifted from production. Not sure which sandbox suits which stage? Our guide to sandbox types walks through Developer, Developer Pro, Partial Copy and Full.

Keep the number of stages small enough that someone owns each one. Running more than one production org? Our guide to managing Salesforce DevOps across multiple orgs covers how the stages multiply.

4. Pilot one team on one release

Pick one team and one upcoming release, and run it through the new pipeline. Everyone else carries on with change sets for now.

Hold the pilot team to one rule: no falling back to a change set halfway through. If the pipeline blocks them, fix the pipeline.

Then measure against your baseline. How long from "done in the sandbox" to "live in production"? How many failed deployments? How many hours did release night take?

Expect merge conflicts once several people commit to the same pipeline. Some will be false alarms caused by how Salesforce metadata is formatted, which is the problem smart merge is built to cut down.

5. Add the gates change sets never had

Once the pilot release lands cleanly, add the safety you didn't have before. Peer review comes first: every change gets a second pair of eyes before it moves a stage. Automated Apex tests should run at each promotion, not only at the final production deploy, which is how a CI/CD pipeline that holds up in production is built. Approvals need to record who signed off.

Rollback deserves its own plan. Decide how you'll reverse a bad release before you need to. With change sets, the only answer was to rebuild the old version by hand.

Last, back up data and metadata together. Some deployments touch records as well as metadata. Salesforce warns that deploying a new master-detail field permanently deletes any detail records in the Recycle Bin, and they can't be recovered. Our piece on Salesforce metadata backup explains what configuration to protect, and our guide to automated release management goes deeper on sequencing these gates.

6. Roll out, then switch off inbound change sets

Move the remaining teams across one at a time. Pair each with someone from the pilot team for their first release through the pipeline.

When the last team has shipped, close the old door. In production, go to Setup > Deployment Settings and remove Allow Inbound Changes for each sandbox connection. Salesforce requires that authorization before any change set can be uploaded, so withdrawing it means nobody can slip back to the old route.

If you need a route for emergency hotfixes, you can leave one connection open. Log every use and push the fix back through the pipeline the next morning, or production and your repository will drift apart again.

What does a finished migration look like?

The City and County of Denver ran its 311 citizen-services platform on change sets. Manual dependency checks, conflict resolution and rollbacks slowed every release. After the move to Flosum, the team reported these results:

Measure Before (change sets) After
Routine deployment 8 hours to 2 days Under 15 minutes
Deployment speed Baseline 70% faster
Sprint velocity Baseline Up 40%

Those are Denver's own reported figures, and yours will differ. The biggest single change was the deploy step itself: routine deployments went from hours or days to minutes.

What changes for admins?

Admins still build in a sandbox with clicks, the same as before. The difference comes after they hit Save. Instead of picking components and dependencies by hand in a change set, they commit their work into a pipeline. In Lifecycle Center that happens from inside the org through DX Inspector, which Salesforce built for both low-code admins and pro-code developers.

Put at least one admin on the pilot team so the process gets tested on declarative work, not just code. And choose tooling that understands metadata rather than just files: admins shouldn't need Git commands to ship a flow or a permission set. That's the case for Salesforce version control without Git.

How do you know the migration worked?

Use the four DORA metrics: deployment frequency, lead time for changes, change failure rate and time to restore service. You already have rough versions of each from phase one. Measure again 90 days after cutover.

By DORA's definitions, an improving team ships more often, waits less between commit and production, fails less often and recovers faster. Our guide to DORA metrics for Salesforce shows how to track them without building a dashboard from scratch.

Where Flosum fits

Flosum DevOps is built for teams making exactly this move. You get version control that understands Salesforce metadata (Git is optional), dependency checks before every deployment, and drift detection across sandboxes and production. Approvals and quality gates are built in. When a release goes wrong, one-click rollback puts the previous version back. Add Flosum Backup & Archive and the recovery point from phase five lives on the same platform.

Flosum runs Salesforce-native, in the Flosum-hosted cloud, or customer-hosted, so it can fit whichever security review your org already has in place.

For the bigger picture of how these pieces connect, start with our guide to Salesforce DevOps.

FAQs

What is the best alternative to Salesforce change sets?

That depends on team size and risk. A team using GitHub.com or Bitbucket Cloud can start with Lifecycle Center, which is free on most Salesforce editions. If you have several orgs, parallel developers, compliance requirements or a need for rollback, a Salesforce DevOps platform puts version control, approvals, rollback and backup in one place.

Can you use change sets and a DevOps pipeline at the same time?

Yes. During a migration, you should. Run one team's release through the new pipeline while the others stay on change sets, then bring teams across one at a time. Once everyone has shipped through the pipeline, remove Allow Inbound Changes in production so the two routes can't drift apart.

Can a change set deployment be rolled back?

No. A change set deploys as a single transaction. If it fails partway, nothing is committed. Once it succeeds, though, Salesforce says it can't be rolled back, so undoing it means building and deploying a second change set that restores the old version.

How long does it take to migrate off change sets?

It depends on how many orgs and teams you have, and how far your sandboxes have drifted from production. The inventory, the production snapshot and the stage mapping are setup work. Plan the pilot around one full release cycle, then roll out team by team.

Do admins need to learn Git to replace change sets?

Not necessarily. Lifecycle Center lets admins commit changes from inside the org through DX Inspector, and Flosum offers version control where Git is optional. What admins do need is one shared habit: every change goes through the pipeline, small ones included.

See how Flosum handles a change sets migration for your team. Book a demo.

Table Of Contents
Author
Stay Up-to-Date
Get flosum.com news in your inbox.

Thank you for subscribing

Ship Salesforce changes faster
Teams on Flosum report 40% higher development velocity and 75%
fewer merge conflicts.
Free to start  |  No credit card required