When working on projects with a mix of developers and point and click admins in different sandboxes, how do you pull in the admin's metadata changes to the git repository without pulling in every change in the org (Assuming scratch orgs are not an option). Do they need to be trained to use the CLI or is it better just to pull in everything?
It may not be the best option but I put the responsibility on the developers to frequently retrieve all changes from the org they are working in and then pick out the admin changes that need to be merged into GIT. Illuminated Cloud’s retrieve and merge function make this really easy.
We also have admins consistently making changes in Prod. For example, making layout changes and updating pick list values. Our process for our lead developer every week is:
- Checkout new branch from master
- Using Illuminated Cloud, Retrieve and Merge from Prod
- Commit the changes to the new branch
- Merge the branch into Master.
- Notify developers to pull down master and merge into any long running branches.
You have options for either of the 2 avenues you always have...Paid or free. It does seem the paid route would be the less scary option for someone not willing to do command line, but that depends on your team.
- Buy a deployment tool
Many exist in this realm - gearset, autorabit, copado, clickdeploy, etc...
I can't speak to all of them, but some will make it more admin-friendly for those who don't know the specifics of metadata API and want a similar experience as change sets (clicks, no command line). They can push between orgs, from orgs to github/gitlab/etc
- Train them on a free tool
This might require some buy-in for them to learn some commands or get comfortable doing something they might not immediately grasp.
Ant Migration tool (Command line) Salesforce CLI / VS Code
Both would require that they know how to manipulate package.xml to pull the right components and then push them to git
I'm not aware of a free tool that exists that would make it more click/configuration friendly instead of command line without some heavy customization work on your end to support it.