I am new to DevOps. I am using Jenkins and GitHub for salesforce deployment.
Setup
We have a develop
branch. Feature branches are created out of it. When merged to develop
, the deployment to the first Salesforce sandbox happens. After end of every sprint the develop
branch is merged with SIT branch pushing changes to SIT Sandbox.
Problem Statement
The QA happens in the 1st sandbox for sprint 2. QA also takes place in SIT Sandbox for sprint n-1 features.
- If an issue is found in the SIT sandbox as part of sprint n-1 testing, the bug is fixed in the
develop
Sandbox- a defect feature branch is created from
develop
. - A fix is added to it.
- The branch is merged to develop, fix deployed to 1st Sandbox and tested.
- a defect feature branch is created from
- If it passes QA, the defect feature branch needs to be merged with the SIT branch to deploy the fix to the SIT sandbox and testing resumes.
Issue
Only the fix needs to be pushed to SIT before the sprint is over and not user story code from sprint 2. But if the fix is made to an apex class or object file, everything is deployed.
How would one separate the user story code from sprint 2 and defect fix code for sprint n-1 testing when merging to SIT branch?