SlideShare une entreprise Scribd logo
1  sur  4
Page 1 of 4
Branching & Merging Strategy.
Date 19th
Dec 2016
Author Rahul Janghel
Version 1.0.0
1. Objective:
Build a better Branching and merge policy which will provide:
1.1 Single Master model with :
 Stable and Clean Master Branch.
 Release-ready code on Master Branch.
1.2 Defined Branch-forking practice.
1.3 Predictable :
 Sprint / Feature Branch Name
 POMVersion
 Branch for Feature / fix Release, along with feature / fix release sequence.
 Source branch to fork a feature / fix branch
 Destination branch to receive feature / fix.
1.4 Independent branch per :
 Sprint
 Feature
 Fix.
1.5 Stable upstream branch.
2. Define Branching Architecture :
2.1 Branch Naming Convention :
<Sprint Version>.<Major Release>.<Minor Release>.<Feature / Fix Branch>
- Sprint started at 1st Oct 2016 may have a Sprint Version as 2016_Q4.1.0
- Sprint Version could be anything between 2016_Q4.1.0 to 2016_Q4.9.99
- Branch Version will be always an incremental number.
- Week number of calendar month will not get consider.
2.2 Sprint and release branch naming convention:
- Create Sprint Branch with name “2016_Q4.0.0” in sprint period of “2016-Q4”.
- Branch Naming Scheme under Sprint “2016-Q4” :
 1st major release : “2016-Q4.1.0”
 1st minor release under 1st
major release : “2016-Q4.1.1”
 2nd major release : “2016-Q4.2.0”
 1st minor release under 2nd
major release : “2016-Q4.2.1”
2.3 Feature branch naming convention:
- In sprint period of “2016-Q4”, Developer shouldcreate feature / fix branch name as
“2016_Q4.0.0-feature_number”.
Page 2 of 4
- Feature Branch Naming Scheme under Sprint “2016-Q4” :
 Feature / fix branch name under 1st major release:
“2016-Q4.1.0-feature_number”.
 Feature / fix branch name under 1st minor release :
“2016-Q4.1.1-feature_number”
 Feature / fix branch name under 2nd
major release:
“2016-Q4.2.0-feature_number”.
 Feature / fix branch name under 2nd
minor release :
“2016-Q4.2.1-feature_number”
2.4 Release Branch naming convention:
- For Sprint period “2016-Q4”, Release Branch name should be :
 “2016_Q4.0.0_RC”
2.5 POM version convention:
- In sprintperiodof “2016-Q4”, POMversioningshouldbe like, (If using SNAPSHOT) :
 1st major release branch POMVersion : “2016-Q4.1.0-SNAPSHOT”
 1st minor release branch POMVersion : “2016-Q4.1.1-SNAPSHOT”
 2nd major release branch POMVersion : “2016-Q4.2.0-SNAPSHOT”
 2nd minor release branch POMVersion : “2016-Q4.2.1-SNAPSHOT”
 Feature / fix branch POMVersion under X major & Y minor release:
“2016-Q4.X.Y-feature_number-SNAPSHOT”.
 For Release Branch “2016_Q4.0.0_RC” POMVersion : “2016_Q4.0.0”
2.6 Release Branch Tag name scheme :
- For Sprint period “2016-Q4”, Release Branch “2016_Q4.0.0_RC” should get tag as
 “2016_Q4.0.0_RC_Release-Date”
3. Branching Process flow :
3.1 Sprint Branch creation work flow :
- Ensure Master Branch has all updates from last Sprint Release Branch.
 Check master branch has same commit ID as last Sprint Release Branch.
 Last Sprint Release Branch is tagged after successful Production / QA / QA
release.
- Create ticket / send mail to DevOps team to create a Sprint branch from master.
- Update Sprint version in all POMfiles.
- Ensure approved naming scheme is followed for branch creation and POMfiles.
- Execute Integrationtest,code coverage shouldmeet minimum passing percentage.
- Inform all developers upon new Sprint branch status.
 Mention new branch’s name.
 POMfile version
 Suggest name of first feature branch for current sprint.
Page 3 of 4
3.2 Feature / Fix Branch creation work flow :
- Create ticket / send mail to DevOps team to create a feature branch.
- Ensure Feature Branch has been created from sprint branch.
- Update feature branch POMversion in all POM.xml files.
- Ensure approved naming scheme is followed while crating feature branch and
updating POMfiles.
- Inform all developers upon new feature branch status
 Mention new feature branch’s name.
 Feature Branch POMfile version
3.3 Release Branch creation work flow :
- Call for Code Freeze 2 days prior to Production / QA / QA Release.
- Insure all feature / fix branch is merged to Sprint Branch.
- Take a signed off from QA team on existing fix committed in Sprint Branch.
- Create ticket / send mail to DevOps team to create a Release branch.
- Ensure all POMfiles is following approved naming scheme for POMversion.
- Ensure direct commit to Release Branch is blocked.
4. Branch Merge Process flow :
- Ensure Master and Sprint Branch is protected from direct Commit.
- To update Sprint branch from feature branch, create a pull request.
- Onlyaftersuccessfullypassingcode review criteria,merge buttonshouldgetenable.
- For Production / QA / QA / QA release, create ticket / send mail to DevOps team to
merge Master Branch into Release Branch.
- Ensure all POMfiles is following approved naming scheme for POMversion.
- Run all unit test and Integration test suite on Release Branch.
- Use Release Branch artifacts for Production / QA / QA / QA Release.
- Ensure Production/QA / QA / QA environmentissuccessfullydeployedfromRelease
Branch.
- Tag Release Branch.
- Create ticket / send mail to DevOps team to merge Master Branch into Release
Branch.
5. Use of Branch to Deploy on various environment :
- Use Sprint Branch to Deploy on QA / Dev environment.
 At least once every day.
- Use Feature / Fix Branch to deploy on Dev environment.
 Multiple time or as require every day.
- Use Release Branch to deploy on Staging / UAT / Preprod environment.
 After code freeze
 Before Production / QA / QA release.
Page 4 of 4
6. Release Branch update flow (Post Code Freeze) :
- Ask Developer to create ticket / send mail to Sprint Owner, seeking approval.
- Attach Unit test report along with request.
- Open Pull request for code review and merge into Release Branch.
- Run all unit test and Integration test suite on Release Branch.
- Use Release Branch to deploy on Staging / UAT / Preprod environment.
- Merge Release branch into Master branch.
7. Production / QA / QA Release & Hot fix Deployment :
- AfterregresstestingonUAT & Preprodenvironment,share reportswithBA & Sprint
Master and take signoff.
- Use Release Branch artifacts to Deploy over Production / QA / QA Environment.
- In case of any bug/ issue /hotfix release, from Master branch create new branch as
 For 1st major release : “2016-Q4.1.0”
 For 1st minor release under 1st
major release : “2016-Q4.1.1”
- Use fix branch artifacts to Deploy over UAT / Preprod Environment and verify.
- Use fix branch artifacts to Deploy over Production / QA / QA Environment.
- Merge fix branch into master branch & next Sprint branch.
--- EOD ---

Contenu connexe

Tendances

Tendances (20)

CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Introduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft AzureIntroduction to Chaos Engineering with Microsoft Azure
Introduction to Chaos Engineering with Microsoft Azure
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
DevOps with Ansible
DevOps with AnsibleDevOps with Ansible
DevOps with Ansible
 
Maven Basics - Explained
Maven Basics - ExplainedMaven Basics - Explained
Maven Basics - Explained
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
Jenkins presentation
Jenkins presentationJenkins presentation
Jenkins presentation
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Jenkins with SonarQube
Jenkins with SonarQubeJenkins with SonarQube
Jenkins with SonarQube
 
Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Helm 3
Helm 3Helm 3
Helm 3
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
Jenkins CI presentation
Jenkins CI presentationJenkins CI presentation
Jenkins CI presentation
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1
 
Build automated Machine Images using Packer
Build automated Machine Images using PackerBuild automated Machine Images using Packer
Build automated Machine Images using Packer
 

Similaire à Branching and merging strategy

Release With Maven
Release With MavenRelease With Maven
Release With Maven
eugenn
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
abodeltae
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )
uisp dsin
 
Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!
XebiaLabs
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
AgileSparks
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
shriikantL
 
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ffMercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
atulmud
 

Similaire à Branching and merging strategy (20)

Release With Maven
Release With MavenRelease With Maven
Release With Maven
 
Strategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile TeamStrategy to setup Subversion for Salesforce development for Agile Team
Strategy to setup Subversion for Salesforce development for Agile Team
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
 
Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )Software Quality Management of Opensource Project ( ubuntu and django )
Software Quality Management of Opensource Project ( ubuntu and django )
 
Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!Webinar: Stop Midnight Release Madness!
Webinar: Stop Midnight Release Madness!
 
Winter 15 : Salesforce
Winter 15 : SalesforceWinter 15 : Salesforce
Winter 15 : Salesforce
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
 
Sccm Interview Questions and Answers
Sccm Interview Questions and AnswersSccm Interview Questions and Answers
Sccm Interview Questions and Answers
 
Release Management Plan
Release Management PlanRelease Management Plan
Release Management Plan
 
Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)Xen Project Release and Roadmap Process (4.7+)
Xen Project Release and Roadmap Process (4.7+)
 
309675745
309675745309675745
309675745
 
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible PolicyOleksii Korshenko - Magento 2 Backwards Compatible Policy
Oleksii Korshenko - Magento 2 Backwards Compatible Policy
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
Application depolyment
Application depolymentApplication depolyment
Application depolyment
 
Sap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_enSap hana client_installation_update_guide_en
Sap hana client_installation_update_guide_en
 
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ffMercury testing tool configuration guide   8085afc8-425c-2910-82bd-e87f551368ff
Mercury testing tool configuration guide 8085afc8-425c-2910-82bd-e87f551368ff
 
A simplified Gitflow
A simplified GitflowA simplified Gitflow
A simplified Gitflow
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 

Dernier

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Dernier (20)

%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

Branching and merging strategy

  • 1. Page 1 of 4 Branching & Merging Strategy. Date 19th Dec 2016 Author Rahul Janghel Version 1.0.0 1. Objective: Build a better Branching and merge policy which will provide: 1.1 Single Master model with :  Stable and Clean Master Branch.  Release-ready code on Master Branch. 1.2 Defined Branch-forking practice. 1.3 Predictable :  Sprint / Feature Branch Name  POMVersion  Branch for Feature / fix Release, along with feature / fix release sequence.  Source branch to fork a feature / fix branch  Destination branch to receive feature / fix. 1.4 Independent branch per :  Sprint  Feature  Fix. 1.5 Stable upstream branch. 2. Define Branching Architecture : 2.1 Branch Naming Convention : <Sprint Version>.<Major Release>.<Minor Release>.<Feature / Fix Branch> - Sprint started at 1st Oct 2016 may have a Sprint Version as 2016_Q4.1.0 - Sprint Version could be anything between 2016_Q4.1.0 to 2016_Q4.9.99 - Branch Version will be always an incremental number. - Week number of calendar month will not get consider. 2.2 Sprint and release branch naming convention: - Create Sprint Branch with name “2016_Q4.0.0” in sprint period of “2016-Q4”. - Branch Naming Scheme under Sprint “2016-Q4” :  1st major release : “2016-Q4.1.0”  1st minor release under 1st major release : “2016-Q4.1.1”  2nd major release : “2016-Q4.2.0”  1st minor release under 2nd major release : “2016-Q4.2.1” 2.3 Feature branch naming convention: - In sprint period of “2016-Q4”, Developer shouldcreate feature / fix branch name as “2016_Q4.0.0-feature_number”.
  • 2. Page 2 of 4 - Feature Branch Naming Scheme under Sprint “2016-Q4” :  Feature / fix branch name under 1st major release: “2016-Q4.1.0-feature_number”.  Feature / fix branch name under 1st minor release : “2016-Q4.1.1-feature_number”  Feature / fix branch name under 2nd major release: “2016-Q4.2.0-feature_number”.  Feature / fix branch name under 2nd minor release : “2016-Q4.2.1-feature_number” 2.4 Release Branch naming convention: - For Sprint period “2016-Q4”, Release Branch name should be :  “2016_Q4.0.0_RC” 2.5 POM version convention: - In sprintperiodof “2016-Q4”, POMversioningshouldbe like, (If using SNAPSHOT) :  1st major release branch POMVersion : “2016-Q4.1.0-SNAPSHOT”  1st minor release branch POMVersion : “2016-Q4.1.1-SNAPSHOT”  2nd major release branch POMVersion : “2016-Q4.2.0-SNAPSHOT”  2nd minor release branch POMVersion : “2016-Q4.2.1-SNAPSHOT”  Feature / fix branch POMVersion under X major & Y minor release: “2016-Q4.X.Y-feature_number-SNAPSHOT”.  For Release Branch “2016_Q4.0.0_RC” POMVersion : “2016_Q4.0.0” 2.6 Release Branch Tag name scheme : - For Sprint period “2016-Q4”, Release Branch “2016_Q4.0.0_RC” should get tag as  “2016_Q4.0.0_RC_Release-Date” 3. Branching Process flow : 3.1 Sprint Branch creation work flow : - Ensure Master Branch has all updates from last Sprint Release Branch.  Check master branch has same commit ID as last Sprint Release Branch.  Last Sprint Release Branch is tagged after successful Production / QA / QA release. - Create ticket / send mail to DevOps team to create a Sprint branch from master. - Update Sprint version in all POMfiles. - Ensure approved naming scheme is followed for branch creation and POMfiles. - Execute Integrationtest,code coverage shouldmeet minimum passing percentage. - Inform all developers upon new Sprint branch status.  Mention new branch’s name.  POMfile version  Suggest name of first feature branch for current sprint.
  • 3. Page 3 of 4 3.2 Feature / Fix Branch creation work flow : - Create ticket / send mail to DevOps team to create a feature branch. - Ensure Feature Branch has been created from sprint branch. - Update feature branch POMversion in all POM.xml files. - Ensure approved naming scheme is followed while crating feature branch and updating POMfiles. - Inform all developers upon new feature branch status  Mention new feature branch’s name.  Feature Branch POMfile version 3.3 Release Branch creation work flow : - Call for Code Freeze 2 days prior to Production / QA / QA Release. - Insure all feature / fix branch is merged to Sprint Branch. - Take a signed off from QA team on existing fix committed in Sprint Branch. - Create ticket / send mail to DevOps team to create a Release branch. - Ensure all POMfiles is following approved naming scheme for POMversion. - Ensure direct commit to Release Branch is blocked. 4. Branch Merge Process flow : - Ensure Master and Sprint Branch is protected from direct Commit. - To update Sprint branch from feature branch, create a pull request. - Onlyaftersuccessfullypassingcode review criteria,merge buttonshouldgetenable. - For Production / QA / QA / QA release, create ticket / send mail to DevOps team to merge Master Branch into Release Branch. - Ensure all POMfiles is following approved naming scheme for POMversion. - Run all unit test and Integration test suite on Release Branch. - Use Release Branch artifacts for Production / QA / QA / QA Release. - Ensure Production/QA / QA / QA environmentissuccessfullydeployedfromRelease Branch. - Tag Release Branch. - Create ticket / send mail to DevOps team to merge Master Branch into Release Branch. 5. Use of Branch to Deploy on various environment : - Use Sprint Branch to Deploy on QA / Dev environment.  At least once every day. - Use Feature / Fix Branch to deploy on Dev environment.  Multiple time or as require every day. - Use Release Branch to deploy on Staging / UAT / Preprod environment.  After code freeze  Before Production / QA / QA release.
  • 4. Page 4 of 4 6. Release Branch update flow (Post Code Freeze) : - Ask Developer to create ticket / send mail to Sprint Owner, seeking approval. - Attach Unit test report along with request. - Open Pull request for code review and merge into Release Branch. - Run all unit test and Integration test suite on Release Branch. - Use Release Branch to deploy on Staging / UAT / Preprod environment. - Merge Release branch into Master branch. 7. Production / QA / QA Release & Hot fix Deployment : - AfterregresstestingonUAT & Preprodenvironment,share reportswithBA & Sprint Master and take signoff. - Use Release Branch artifacts to Deploy over Production / QA / QA Environment. - In case of any bug/ issue /hotfix release, from Master branch create new branch as  For 1st major release : “2016-Q4.1.0”  For 1st minor release under 1st major release : “2016-Q4.1.1” - Use fix branch artifacts to Deploy over UAT / Preprod Environment and verify. - Use fix branch artifacts to Deploy over Production / QA / QA Environment. - Merge fix branch into master branch & next Sprint branch. --- EOD ---