Docker Build and Push / build-and-push (push) Canceled after 0s
- Move Unreleased entries to v0.2.0 in CHANGELOG.md - CI/CD with Gitea Actions for automated Docker builds - Docker build optimization with .dockerignore - Release process documentation Co-authored-by: Junie <junie@jetbrains.com>
2.1 KiB
2.1 KiB
Changelog
All notable project changes should be documented here.
This project follows Semantic Versioning. For more details, see docs/DEVELOPMENT.md.
Unreleased
v0.2.0
- 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.