Objective
- Reduce development time and increase successful deployments
- Track and Manager changes to configurable items with complete change history of every file
- Maintain Code Compatibility
Configuration Item (CI)
- Front end Source code
- Backend Source Code
- Database Scripts
- Configuration files
- Documentation
Semantic Versioning
Release | Stage | Rule | Example version |
---|---|---|---|
First release | New product | Start with 1.0.0 | 1.0.0 |
Backward compatible bug fixes | Patch release | Increment the third digit | 1.0.1 |
Backward compatible new features | Minor release | Increment the second digit and reset last digit to zero | 1.1.0 |
Changes breaking backward compatibility | Major release | Increment the first digit and reset second and last digits to zero | 2.0.0 |
Branching and Environment Strategy
- Move from current feature branch Model to One branch model
- Feature branches model can result in lot of merging and subsequent testing if feature remains on branch for long term
- Assess the current branching model and start the journey to One Branch
- First step is to move to Release optimization by combining multiple features in release
- Move to Agile Sprints for development and each sprint should have incremental and stable code. If feature is not complete it can be hidden for users using switches
- Move to One branch model and one release per month
【Feature Branch Model】–> 【Release Optimization】 --> 【Agile Sprint】 --> 【One Branch Model】
Feature Branch Model
TODO
One Branch Model
TODO