We are implementing CI/CD setup. The components involved are - GitLab - Jenkins - SFDX CLI
we are already few releases deployed in Prod and want to streamline package development model using SFDX CLI/Jenkins CI/CD setup.
The pipleline for pushing builds has been created on Jenkins and works well. Developers are also well connected with GitLab.
As GIT and Jenkins administrator, the challenge I am facing is for below questions
I give you a scenario.
Lets say we are already on Release 1.0 on Prod. And we we are preparing for Release 2.0.
What should be the starting point for developers (Around 20)? The reason for asking this question is the master or main Branch does not contain currently all the custom metadata delivered in prod. After release 1.0 there were some hotfix changes so the master branch contains metadata concerning the hotfix.
What is the common practice followed for release management? for example after Release 1.0 my assumption is master branch should have all the code/custom metadata present as per prod. And when developers start working on any feature what they first should do is GIT Clone to pull all the custom metadata (R 1.0 specific) on their local and then start on R 2.0 by creating a feature branch followed by test on scratch orgs and then merging on Dev branch.
What will the content of Master branch when we are ready for R2.0? Would it be all the custom metadata for R1.0 and R2.0 together or it would only be incremental R2.0 specific metadata?
I tried to search google and various flow diagrams etc but these basic questions still bothering me. Any suggestions?
Thanks and Regards Abhishek Verma