"Mastering Chaos: A Guide to Seamless Release Management with Automated Release Notes"
Existing Pain Points
Here are some of the pain points with managing releases in a distributed application environment
- How do we identify the components that are part of the release?
- How do we identify the version of the components that need to be deployed?
- How do we know what changes are part of the release?
- How do we generate the release notes automatically?
Approach
Follow Github flow instead of Git flow
With the github flow there is just one master branch (or develop branch) and feature branches. New features are developed on the feature branches and are merged to the master branch. With github flow branching strategy latest code is always available on the master branch. There are no separate develop, master or release branches. This allows us to create tags and version the releases.
Versioning
Below diagram explains the build and release process which would also allow us to version the releases.
DEV is integration environment used by the developers for verifying their changes. Test environment is used by the QA for testing the stories. Stage is the environment for UAT and Regression testing. And Prod is the production environment.
Process flow
1. Developer would create a feature branch to work on a story
2. Once the development is complete they would raise a pull request for the code review
3. After the pull request is approved feature branch is merged into the master branch
4. At this point a build is initiated (manual or automatic) which would
- Build the latest code from the master
- Create a git tag with a version number
- Deploy the code into the Dev env
7. This process would be followed for every component in the application. CI/CD tool should be able to provide a view of the components and their versions deployed to any environment.
8. At any given time we can compare the snapshots of the two environments to identify the delta between the two environments and come up the list of components that would be part of the release.
Comments
Post a Comment