Maven release process is based on below 2 stages:-
- Preparing the release.
- Performing the release.
Please visit https://maven.apache.org/guides/mini/guide-releasing.html for more details. Command line is the best solution to follow mvn release process. We are following the below approach to stream line maven release process.
0. Start the development on a project with 1.0-SNAPSHOT version.
1. When the development is complete
a. Tagged code# Tag the code i.e. make a copy of the code as a tag at that point of time. This code base will be deployed to QA. Ensure that if your project is dependent on other projects that these projects are also released to 1.0 jars.
b. Move trunk to next release version# And Increment the release version to 1.1-SNAPHOT on truck so that next release work is on a different code level. Ensure that dependencies are also upgraded to 1.1-SNAPSHOT if they are expected to change during next release. Dependency management is a key while using maven release process. A dedicated team or architects should have complete dependency chart so that they can manage release process.
2. Deploy tagged code in 1.a. to QA
3. Testing of code in progress
|Managing UAT/PROD branch|
|4. If QA testing is passed, deploy the tagged code from 1.a. itself to |
7. Production in progress.
8. Prod issues occur cut a branch out of tagged code as
1.0.1-SNAPSHOT for PROD fixes.
9. Repeat the process from 0 with 1.0.1-SNAPSHOT branch.
|Managing QA branch|
| 5. If QA testing is failed, use the incremented code branch 1.1- |
SNAPSHOT to fix the issues.
6. Repeat the process from 0 with 1.1-SNAPSHOT trunk.