1.

Explain a good branching structural strategy that you have used for your project code development.

Answer»

A good BRANCHING strategy is the one that adapts to your PROJECT and business needs. Every organization has a set of its own defined SDLC processes.
An example branching STRUCTURAL strategy that I have used in my project:

  • Diagram: Branching strategy
  • Clone the project available at github:
  • git clone http://github.com/divyabhushan/structuralStrategy.git structuralStrategy

 Guidelines: 

  • “master-prod”: Accepts merges/code/commits only from the “prod” branch
  • “prod”: Perform only a merge --squash from “release” branch.
  • Merge only when approved by “QA”
  • Tag every merge in the format: v1.0, v1.1 … v1.*
  • “release”: merge from the branches “dev”, “uat”, “QA”.
  • Every release commit/project code version has to be approved by “QA”.
  • Tag every merge in the format: r1.0, r1.1 … r1.*
  • “dev” and “uat” NEVER merge with each other.
  • “hotfix” branch commits are shared among any feature branches such as “dev” and “uat”
  • “feature” branch is private to “dev” alone and is dropped after merging.
  • CI/CD DevOps tools can be used to automate the above development and deployment to master_prod.
  • Every project release: r1.0 .. r1.x on the ‘release’ branch can be tracked by Jenkins CI TOOL and will trigger a build, on a successful build continuous testing suite 
  • cases will be triggered on the code. If the test passes the release will be delivered to ‘prod’ branch.
  • Every source code delivered to ‘prod’ branch will be automatically deployed to ‘master_prod’ branch.

All the steps will be mentioned in a Jenkins file on a branch ‘name’ condition.



Discussion

No Comment Found