Spring boot deployment
Skill ComeOnOliver/skillshub/skills/HoangNguyen0403/agent-skills-standard/spring-boot-deployment
🧠The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill spring-boot-deploymentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Standards for GraalVM Native Images, Docker, and Graceful Shutdown. Use when deploying Spring Boot apps as GraalVM native images, containers, or configuring shutdown. (triggers: Dockerfile, compose.yml, docker-layer, native-image, graceful-shutdown)
SKILL.md
1.8 KB, 404 tokens by cl100k_base, as published. Nobody here has run it
Spring Boot Deployment Standards
Priority: P0
Implementation Guidelines
Docker & Containerization
- Buildpacks: Use
bootBuildImage(Gradle) orspring-boot:build-image(Maven) for OCI-compliant images. - Layered JAR: Use
Layered JARsupport to optimize Build Cache. Use multi-stageDockerfile. - Security: Run as
non-rootuser. Useeclipse-temurinor Distroless as base image. - Secrets: NEVER commit secrets to Git. Inject via environment variables, Kubernetes Secrets, or Vault (spring.config.import). Never bake secrets into image layers.
GraalVM Native Image (AOT)
- Use Case: Serverless or CLI tools requiring instant startup and low memory footprint.
- Constraints: Use
AOTtransformations. Register reflection withRuntimeHintsif needed. - Health Checks: Include
Actuatorendpoints specifically for Liveness and Readiness probes.
Resource Tuning & Shutdown
- Graceful Shutdown: Enable
server.shutdown=gracefulwith a 30s timeout. - Memory: Use
-XX:+UseContainerSupportand-XX:MaxRAMPercentage=75.0. - Log Management: Log to
stdoutin Structured JSON for log aggregators.
Anti-Patterns
- No Fat JARs in Docker: Use Layered JAR support for better caching.
- No root container user: Run as restricted user (appuser/nobody).
- No baked-in secrets: Use Env vars or ConfigMaps, never image layers.