Salesforce development and release management teams have made good strides towards continuous integration and continuous of application in the last few years – here are some of the challenges for teams while adopting DevOps practice for Salesforce platform.
Complexity with Salesforce Metadata
- Component behavior split into multiple files ( Profiles, Layouts etc.,)
- Unsupported Metadata
- The modification timestamps for some metadata is inconsistent ( Eg. Value Sets)
- Too many manual steps in deployments.
GIT and its Crypticness
- SF teams not used to version control
- Complexity with Merges and back-merges
- Conflict resolution of large objects and Profiles incase of heavy duty merges
- Branching and deployment needs vary between Declarative vs Apex or lightning or Einstein teams
- Salesforce DX introduces new layer of package and development of applications
- Direct changes in Salesforce release sandboxes
- Production break fixes are not brought back into development and release lanes.
With the introduction of Salesforce DX, the awareness and adoption of DevOps on Salesforce Platform has increased multi-fold. With well-documented best practices, proper GIT branching structure, better governance and effectively utilizing Salesforce Continuous Integration Servers like AutoRABIT – Salesforce release management teams can achieve high degree of automation.