Skip to content

Instantly share code, notes, and snippets.

@pedes
Created June 25, 2025 13:19
Show Gist options
  • Save pedes/c717e40e0b38dc9f75f6b6794da75e06 to your computer and use it in GitHub Desktop.
Save pedes/c717e40e0b38dc9f75f6b6794da75e06 to your computer and use it in GitHub Desktop.
Analysis of deployment strategies for Salesforce

Comparison Table: Salesforce Change Sets vs. Modern DevOps Alternatives

Feature/Capability Change Sets SFDX/CLI Gearset Copado DevOps Center
Automation ❌ Manual only ✅ Full CLI/Script ✅ CI/CD support ✅ CI/CD pipelines ✅ Built-in
Version Control ❌ None ✅ Git/SVN, etc. ✅ Git, Bitbucket ✅ Git/SVN, etc. ✅ Git-based
Rollback/Undo ❌ None ⚠️ Manual (but possible) ✅ Automated ✅ Automated ✅ Supports Git
Component Coverage ❌ Limited ✅ All metadata ✅ All metadata ✅ All metadata ⚠️ Growing
Dependency Analysis ❌ Poor ⚠️ Manual/Script ✅ Smart analysis ✅ Smart analysis ⚠️ Improving
Environment Support ❌ Connected Orgs ✅ Any Org via API ✅ Any Org ✅ Any Org ✅ Any Org
Conflict Detection ❌ None ⚠️ Manual ✅ Built-in ✅ Built-in ✅ Git-based
Audit/Tracking ❌ None ⚠️ Partial (Git) ✅ Full logs/audit ✅ Full logs/audit ✅ Built-in
UI/UX ❌ Outdated ⚠️ CLI/IDE-based ✅ Modern UI ✅ Modern UI ✅ Modern UI
Learning Curve ✅ Easy start ⚠️ Medium ⚠️ Medium ⚠️ Medium ✅ Low-medium
Cost ✅ Free native ✅ Free tools ❌ Paid (License) ❌ Paid (License) ✅ Free native
Enterprise Scale ❌ Not suitable ✅ With scripting ✅ Yes ✅ Yes ⚠️ Improving

Pros and Cons Breakdown

Salesforce Change Sets

  • Pros: Free, native, easy for simple orgs/small teams.
  • Cons: Manual, error-prone, no automation, poor metadata support, no rollback, no VCS.

Salesforce DX (SFDX / Salesforce CLI)

  • Pros: Full automation (scriptable), integrates with any Git-based VCS, works with all metadata, enables CI/CD, supports modern DevOps.
  • Cons: Steep learning curve for non-developers/admins, needs pipeline setup, requires knowledge of CLI and sometimes scripting.

Best For: Technical teams, developers, teams moving to automated or “real” DevOps.

Gearset

  • Pros: Intuitive UI, visual diff & compare, built-in dependency and conflict management, automated CI/CD, rollback support, great audit logs, works with any Salesforce org, integrates with Git.
  • Cons: Paid tool (subscription), some features require higher tiers.

Best For: Teams wanting power and simplicity without heavy scripting; all team sizes.

Copado

-Pros: Enterprise-grade, full pipeline management, integrated user stories, automated testing, rollback, compliance features, VCS integration, comprehensive UI, supports complex environments.

  • Cons: Paid (can get expensive), complex initial setup, some admin overhead.

Best For: Large/enterprise teams with mature DevOps or compliance needs.

Salesforce DevOps Center

  • Pros: Free, native Salesforce product, integrates with Git, point-and-click deployment, tracks changes via “work items,” supports basic automation and conflict detection, easier adoption for admins.
  • Cons: New product (still maturing), not as flexible as Gearset/Copado for advanced/enterprise cases, limited to supported metadata types (coverage expanding).

Best For: Admins and teams starting DevOps journey, need something better than change sets but not ready for paid tools.

Bottom Line: Honest Recommendations

  • Still using Change Sets? You’re stuck in 2015—move on if you want speed, safety, or any modern software engineering standards.

  • Small teams, basic needs: DevOps Center or SFDX is more than enough and free.

  • Growing or mixed-skill team: Gearset hits the sweet spot between power and ease.

  • Enterprise/compliance: Copado is the heavyweight, but overkill if you don’t have the scale.

If you want control: SFDX + Git + your own CI (GitHub Actions, Azure DevOps, etc.) is the best value and flexibility, but requires technical investment.

Recommendation Flowchart Non-technical admin team? → Try DevOps Center.

Technical/developer-heavy team? → Use SFDX + Git + CI/CD.

Need visual tools, fast adoption, great support? → Gearset.

Enterprise, complex, regulatory requirements? → Copado.

@pedes
Copy link
Author

pedes commented Jun 25, 2025

Major Limitations of Salesforce Change Sets

  1. Manual and Tedious Process
    Manual Selection: Must manually track and select every changed component; there is no automatic change tracking.

One Type at a Time: Can only add one metadata type at a time—this is repetitive, click-intensive, and error-prone, especially for large releases.

  1. No Rollback Capability
    Irreversible Deployments: If a deployment fails or causes issues, there’s no native way to roll back; reversing changes is fully manual, slow, and risky.

  2. Limited Scope & Incomplete Support
    Not All Components Supported: Many Salesforce metadata types (e.g., picklist values, standard email addresses, parts of Profiles, sales processes) cannot be deployed via change sets and must be managed manually.

No Partial Deployments: If an error occurs, you must fix the issue and redeploy the entire change set—no support for partial or incremental deployment.

  1. No Reusability or Portability
    Environment Lock-In: Change sets work only between connected orgs. You must recreate them for every environment (dev > test > prod), which increases redundancy and workload.

Cannot Save or Reuse: The selection scope isn't saved—moving the same package up the chain means rebuilding the change set from scratch every time.

  1. Poor Dependency & Conflict Management
    Limited Dependency Handling: Only direct dependencies can be added; indirect dependencies are not managed, risking failed or incomplete deployments.

No Conflict Detection: Change sets do not warn about conflicts—other team members' changes can be silently overwritten.

  1. No Version Control Integration
    No Source Control: There’s no integration with Git, SVN, or any modern VCS, making it impossible to track metadata changes, manage versions, or collaborate efficiently using best practices.

  2. Lack of Visibility and Reporting
    No Target Org Insight: You cannot preview or analyze the state of the target org from within the change set process—risking blind deployments.

No Deployment User Tracking: No way to audit or track who performed which deployment, undermining accountability and governance.

  1. No Automation or CI/CD Support
    Manual Only: Change sets must be built and deployed by hand—no automation, scripting, or integration with CI/CD pipelines is possible natively.

  2. Slow and Cumbersome for Large Deployments
    Not Enterprise-Ready: Cumbersome management of large releases, lack of histories, inability to handle complex dependencies, and no rollbacks mean change sets are not suitable for enterprise-scale projects.

In Short:
Salesforce change sets are slow, manual, and error-prone; they lack rollback, automation, visibility, conflict detection, version control, and broad metadata support. They do not scale for modern or enterprise Salesforce DevOps practices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment