The Angular app is build within a custom docker container to ensure it is reproducible and optimized with caching.
Builds are triggered through GitHub Actions CI (see /.github/workflows).
The deployable server (nginx) image is published to Docker Hub for every official (tagged) build.
You can simply create a new git tag and the CI setup will build and publish a docker image for that version.
We use semantic-release to automatically create new versions.
Our process roughly follows the GitFlow process,
where our development branch is master
and our "main" branch holding stable releases is official-release
.
- Commits on the
master
branch are analyzed and a pre-release version is automatically tagged. - To create an "official" release, merge the
master
into theofficial-release
branch. This will trigger a regular new version.