컨테이너·네이티브 배포 (Spring Boot 3)
Spring Boot 3 앱을 OCI 이미지나 GraalVM 네이티브 실행 파일로 안전하게 패키징하도록 Claude를 가이드하는 스킬.
개발·코딩고급★ 231⑂ 38AI 점수 9/10마지막 업데이트: 2026. 8. 14.
무엇을 해주나
Spring Boot 3 애플리케이션을 컨테이너 이미지 또는 GraalVM 네이티브 바이너리로 패키징할 때 Claude가 따라야 할 규칙을 제공합니다.
- Cloud Native Buildpacks(
build-image) 우선 사용, 레이어 분리로 캐시 재사용 최대화 - 비루트 사용자·읽기 전용 파일시스템, 시크릿은 런타임 주입(이미지에 절대 굽지 않음)
- Actuator 기반 readiness/liveness/startup 프로브 분리 설계와 graceful shutdown
- Spring AOT +
RuntimeHints최소 범위 등록, 네이티브 통합 테스트 필수 - SBOM 생성, 이미지 스캔, 다이제스트 기반 승격 등 공급망 위생
- Boot 3.3+의
jarmode=toolsvs Boot 3.0~3.2의layertools차이 등 버전별 함정 명시
이런 분께 추천
- Spring Boot 3 서비스를 쿠버네티스/ECS 등에 배포하는 백엔드 개발자
- 콜드 스타트를 줄이려 GraalVM 네이티브 도입을 검토 중인 팀
- AI가 만들어준 Dockerfile이 fat jar를 root로 복사하는 수준이라 답답했던 분
활용 예시
- "우리 Spring Boot 3.3 서비스용 멀티스테이지 Dockerfile 만들어줘" → 빌더 스테이지에서
jarmode=tools로 추출하고 레이어를 분리한 비루트 이미지를 생성. - "네이티브 빌드가 리플렉션 오류로 실패해" → 광범위 리플렉션 설정 대신 좁은 범위의
RuntimeHints등록을 제안. - "헬스체크 설정 리뷰해줘" → liveness에서 외부 의존성 검사를 빼고 readiness/startup 프로브로 분리하도록 교정.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/rrezartprebreza/spring-boot-skills/HEAD/skills/spring-boot-3/container-native-deployment/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 rrezartprebreza/spring-boot-skills 의 skills/spring-boot-3/container-native-deployment 폴더를 내 ~/.claude/skills/container-native-deployment/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/rrezartprebreza/spring-boot-skills.git && mkdir -p ~/.claude/skills && cp -r spring-boot-skills/skills/spring-boot-3/container-native-deployment ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 클론합니다:
git clone https://github.com/rrezartprebreza/spring-boot-skills.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다(examples 폴더까지 함께 복사되도록 폴더 단위로):
cp -r spring-boot-skills/skills/spring-boot-3/container-native-deployment ~/.claude/skills/ - Claude Code를 재시작하고
/skills등으로 목록에 나타나는지 확인합니다. - Spring Boot 3 프로젝트에서 "이 앱을 컨테이너 이미지로 패키징해줘"라고 요청하면 스킬이 발동합니다.
GitHub에서 원본 보기 ↗라이선스: MIT