Deploy to major orgs
Minor and Major branches
Minor branches are individual git branches that do not have a CI/CD associated org
Major branches are git branches that have a CI/CD associated org, and each new commit in a major branch automatically triggers a deployment to the associated org.
Examples:
- Minor to major: When a merge request from
dev_nicotoìntegration(A) is validated and merged, a new state (commit) is detected in branchintegration, so CI server automatically deploys toassociated Salesforce org Integration(B)
- Major to Major: When a merge request from
integrationtouat(C) is validated and merged, a new state (commit) is detected in branchuat, so CI server automatically deploys toassociated Salesforce org UAT(D)
- Major to Major: When a merge request from
uattopreprod(E) is validated and merged, a new state (commit) is detected in branchpreprod, so CI server automatically deploys toassociated Salesforce org Preprod(F)
- Major to Major: When a merge request from
preprodtomain(G) is validated and merged, a new state (commit) is detected in branchmain, so CI server automatically deploys toassociated Salesforce org Production(H)
Merge requests between major branches
- Create a New Merge request
- Set a meaningful title, like MAJOR: recette to uat or MAJOR: uat to production
- Make sure that Delete source after merge and Squash commits are UNCHECKED
- Click on Submit merge request
- Controlling jobs are automatically launched, and should pass as merge requests from minor branches has been in success
- If jobs fail, it means that you need to perform manual actions in target org, like activating features or manually rename elements if metadatas API Names has been renamed (which is a bad practice but happens)
- Once all jobs are in success, merge the merge request
- It will automatically trigger the deployment to the associated Salesforce org
