- 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>
2.1 KiB
2.1 KiB
Changelog
All notable project changes should be documented here.
This project has not yet established a versioned changelog. Add entries as releases are published.
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), andlatest. ConfigureREGISTRY_USERNAMEandREGISTRY_PASSWORDsecrets in Gitea repository settings. - Docker build optimization — added
.dockerignoreto exclude unnecessary files from the build context, reducing build time and image size. - Release documentation — added detailed release process guide in
docs/DEVELOPMENT.mdwith 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 buildcommand — 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 —
LinuxMemoryServiceandCpuDetailsServicenow read host metrics from/host/procinstead of container metrics from OSHI. - Concurrency improvements — replaced
synchronizedmethods withAtomicReferenceinSystemMetricsService,SystemProcessesService, andCpuDetailsServiceto eliminate lock contention. - Global error handling — added
@RestControllerAdvicefor structured JSON error responses. - Unit tests — added 32 tests covering
/procfile parsers, CPU usage calculations, and process uptime logic. - Docker security — added non-root user (
appuser), read-only filesystem,no-new-privileges, and healthcheck to the container. - Debug logging — added
log.debug()calls in silent catch blocks across all services. - Documentation structure established.