Add Gitea Actions CI/CD for automated Docker builds

- Add .gitea/workflows/docker.yml: builds and pushes Docker image on Git tags
  with semantic versioning (v0.1.0 → tags 0.1.0, 0.1, latest)
- Add .dockerignore to optimize Docker build context
- Document release process in docs/DEVELOPMENT.md
- Update CHANGELOG.md with v0.1.0 release and Unreleased CI/CD entry

Required Gitea secrets: REGISTRY_USERNAME, REGISTRY_PASSWORD

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-10-28 23:27:29 +01:00
co-authored by Junie
parent 597d8f380a
commit f3e095dafc
4 changed files with 136 additions and 7 deletions
+6
View File
@@ -6,6 +6,12 @@ This project has not yet established a versioned changelog. Add entries as relea
## Unreleased
- **CI/CD with Gitea Actions** — automated Docker image build and push on Git tags. Each release produces three tags: full version (`0.2.0`), minor version (`0.2`), and `latest`. Configure `REGISTRY_USERNAME` and `REGISTRY_PASSWORD` secrets in Gitea repository settings.
- **Docker build optimization** — added `.dockerignore` to exclude unnecessary files from the build context, reducing build time and image size.
- **Release documentation** — added detailed release process guide in `docs/DEVELOPMENT.md` with Semantic Versioning workflow.
## v0.1.0
- **Multi-stage Docker build** — the Dockerfile now compiles both the Angular frontend and Spring Boot backend inside Docker using three stages (Node.js → Gradle → JRE). Build the entire application with a single `docker build` command — no local Java or Node.js required.
- **Security hardening** — replaced full host root mount (`/:/host/root:ro`) with specific directory mounts (`/proc`, `/sys`, `/etc/hostname`, `/etc/os-release`, `/var`, `/home`, `/opt`, `/tmp`, `/srv`, `/usr`) to minimize the attack surface.
- **Host metrics consistency** — `LinuxMemoryService` and `CpuDetailsService` now read host metrics from `/host/proc` instead of container metrics from OSHI.