Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
May 17, 2022 05:21 pm GMT

The successful codeline process

Introduction

A friend of mine asked me on one of the meetup, how frequently we are releasing the features on production. I said 3 week once. ie. every end of sprint

He was surprised and asked me how many people working on the product, I said it was 14, all the 14 will code

Then my friend surprisingly asked how are we managing code conflicts as many developer working on same codeline with different multiple features , bugfix

oh Yeah... In this blog post I will share you the most successful codeline strategy we using for past 4 years.

This will be useful for people managing multiple repositories , And also for new product development .

Git Codeline process

a picture is worth a thousand words

Image description

  • Image description

develop holds all completed feature branches and reflects the latest development code. Continuous builds run on this branch.

  • Image description

main - only stable code is merged from the develop branch. Nightly / Publish builds run on this branch.

  • Image description

release/* branches - branched out of the main branch, for every release. Tagged for each release.

  • Image description

Pull Request denied, if PR-Merge-build fails

  • feature/* branches - branched out of the develop branch. usually short-living - when a feature is ready it is merged back to develop and the branch is closed.

  • Image description

manual pull should be fetched/refreshed to consecutive feature branch

  • Image description

Will run on develop branch, so that each developer commit is responsible for success/failure

  • Image description

Pull Request Merge build will certify before integrate into main or release branch. This process involves merging the source branch i.e. develop or hotfix branch, into the target branch i.e main or release branch, with out committing into main

  • Image description

E2E test will runs on main branch. Any failure should be treat as blocker.

  • Image description

E2E test will runs on release branch. Any failure should be treat as blocker.

Advantages

  • Developer will always work on successful builds
  • No conflicts.
  • Merge will be reviewed by peers
  • Saves more time

Original Link: https://dev.to/kcdchennai/the-successful-codeline-process-a72

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To