The CI/CD pipeline supports pipelines per branch but no pipeline for feature branches is triggered automatically. There are pipelines deployed for the following branches: development
, master
. The respective pipeline is triggered onCommit
event (codeCommitRepo.onCommit('OnCommit', {})
so whenever there is any code push to the branch. We are planning to use git-flow as the branching strategy but don't exactly see the advantages of having another branch called staging
, in addition to development
, master
.
- Is there a use of having a third branch like "staging" when using CI/CD?
The CI/CD pipeline looks as follows:
- At what stage should the PR from the feature branch be created?
- At what stage should the PR be merged into the development branch?
- At what stage should the PR from the development branch to master be created?
- At what stage should the PR be merged into the master branch?
- What if the development pipeline fails? Should the code be manually unmerged to get development back in the stable condition?
- What if the master pipeline fails? Is the code being merged in the branch after the pipeline succeeds?
I would like to understand what the flow should look like starting from a feature branch. (P.S: Not interested in Trunk based development strategy)
Also, the pipeline is coming from https://github.com/awslabs/aws-simple-cicd and is written using AWS-CDK