Why are tools for Salesforce deployments so important in the SFDC landscape?
Look, you’re the master of the Salesforce development, the Business is happy with your customizations and now you’re looking on how to deploy your beautiful devs to production.
At the beginning, you deploy with Changesets, if you have a couple of changes, well, it works! But if things becomes more serious, you’ll see that deploying with changeset is not an option anymore if you want to keep a good mental health 😀
Fortunately, there are tools for Salesforce deployments that can help. Let’s see the pros and cons for each and how to indistrialize your SFDC deployments.
Salesforce deployment tool: the Changesets
Changeset is the basic tool for Salesforce deployment. It comes out of the box and allows you to connect your DEV / UAT / PREPROD Sandboxes as well as production to deploy the metadatas you need to transport from one environment to another.
Everyone does this at the start of the Salesforce journey, when the project is quite small and you have 1-2 developers implementing features and releasing very frequently.
But you’ll see that when you get 3, 4, 6 developers, several admins and you have a lot of devs to move, it’s getting harder and harder. Beacause you will for sure forget some metadatas, if there are too much metadatas, you need to split your deployments, and deployment become more and more painfull.
That’s why you need Salesforce deployment Tools.
Pros
- Comes out of the box with all orgs
- Totally free of charge
- Easy to use
Cons
- No tracability of deployments
- Not adapted to complex deployments
- No comparison between orgs
- No advanced feature for devOps
Salesforce devOps center
I have already written several articles to setup the devops center. For me, it’s the next step for the Salesforce deployment, since changesets feature has not been enhanced since years. I have already made an analysis in this article to understand if it comes in replacement of other tools.
The Salesforce devOps center is to consider for middle size project, since it allows to track the changes in your sandbox and deploy it feature per feature, independently. For people who are not very familiar with git, everything is automated so things are easy to put in place.
Pros
- Included in your SFDC org with no additionnal cost
- Deploy feature per feature, easily
- No knowledge of git required
Cons
- Works only with github (forget about your Bitbucket, Gitlab, Azure subscriptions)
- No continuous integration feature
Build your own tool for Salesforce deployment: Go with with GIT and SFDX
This is the most cutomizable, the most tailor maid solution you can build.
For that, you need:
- A Git repository
- A CI/CD solution (the one that comes with Gitlab, Github, Bitbucket are suitable for that)
- Develop some script that will be able to handle the deployment
Basically, when you start to implement this type of tool for Salesforce deployment, you will create an SFDX project, retrieve the metadatas and push them to GIT. Then the CI/CD process will take care of the deployment of those metadatas.
There are some samples available for example to setup a gitlab pipeline. But keep in mind that you will have to customize your solution to make sure that it 100% fits your needs.
Pros
- 100% Tailor made solution
- Cheaper than on the shelve deployment softwares
Cons
- Less user friendly than an “out of the box” tool
- Requires development efforts for the deployment scripts
Gearset
Gearset is one of the tools for Salesforce deployment that is usefull for:
- Comparing the metadatas between 2 orgs
- Comparing the metadatas between GIT and an ORG
- CI / CD
- Salesforce Org monitoring
- Data migration
- Running tests
I have used this tool and if you go for GIT + metadata based deployment, the tool is really and advantage. What you can do is:
- Develop / configure
- Retrieve the SFDC metadatas with SFDX and push it to GIT (to organize, I suggest to go for a branch + pull request process)
- When you want to deploy: create a pull request for all the metadatas you need to deploy: you’ll be able to identify the news / changed metadatas
- Launch a comparison between the branch you have just merged in and the target org
- Deploy
It’s very useful and it’s far better than the changeset, especially for middle-size deployments.
Pros
- Lots of features: monitoring, CI/CD, deployment, data migration
- Compare orgs
- Quite easy and fast to use
- PMD (coding rules assessment) available
- Very very reactive online support
Cons
- When you compare orgs, you have to know what you’re doing (lots of informations to filter)
- More adapted for small / middle size projects
Copado
COPADO is one of the tools for Salesforce deployment you can’t miss if you’re looking for a solution.
Because it’s very complete, it provides to architects, developers and release managers all the features they are dreaming of:
- Link with JIRA
- PMD analysis
- Feature per feature deployment
- For a deployment referenced in COPADO, reference as well the manual tasks so that you don’t forget it at deployment
- AI for solving merging conflicts
You understood it, COPADO is a very complex solution that can help you a lot for your delivery, especially if you’re running a big project with complex delivery and frequent production roll-outs.
Pros
- Professional tool for large projects delivery
- PMD (coding rules assessment) available
- Manual tasks listing
- Feature per feature release in PROD
Cons
- Requires installation
- Ramp-up is necessary to use the tool correctly
- Cost?
- Not adapted for small projects
We’ve seen several tools for Salesforce deployments, all differents, with their pros and cons. Some are adapted to small projects, some no, make your own idea with the requirements you have on your projects.
On top of that, metadatas isn’t the only thing to be deployed in Salesforce, especially if you run features like CPQ, you’ll get data to move and you may consider other features we have discussed here…