Release Process
1. Overview
The Java and Angular components are bundled together into a single deployable Java JAR and Docker container.
2. Release Steps
Follow these steps to release a new version:
2.1. 1. Prepare for Release
Ensure the product is ready for release:
-
Change any SNAPSHOT dependencies to static, immutable versions
-
Verify all tests pass
-
Update changelog and documentation as needed
2.2. 2. Execute Release Action
Run the Release Start GitHub Action:
-
Navigate to the Actions tab in GitHub
-
Select the "Release Start" workflow
-
Click "Run workflow"
-
Optionally specify the release version
-
Leave blank to use the next version (current version without
-SNAPSHOT)
-
2.3. 3. Automated Release Process
The GitFlow release goal performs the following:
-
Creates a release branch from
develop -
Updates version numbers
-
Runs final verification
-
Merges to
mainbranch -
Tags the release
-
Merges back to
developwith incremented version -
Deploys to the package registry via Maven deploy
3. Artifacts
The release process produces:
-
JAR file - Executable Spring Boot application
-
Docker image - Containerized application
-
Maven artifacts - Published to package registry