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_nico
toìntegration
(1) is validated and merged, a new state (commit) is detected in branchintegration
, so CI server automatically deploys toassociated Salesforce org Integration
(2)
- Major to Major: When a merge request from
integration
touat
(3) is validated and merged, a new state (commit) is detected in branchuat
, so CI server automatically deploys toassociated Salesforce org UAT
(4)
- Major to Major: When a merge request from
preprod
toproduction
(5) is validated and merged, a new state (commit) is detected in branchproduction
, so CI server automatically deploys toassociated Salesforce org Production
(6)
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