DevOps & Infrastructure Skills
DevOps & 인프라 스킬 — 배포를 두려움 없이
DevOps 스킬은 단순히 yaml 파일을 대신 써주는 것이 아니다. 배포 과정의 체계적 사고를 Claude에게 심어줘, 인프라 설계 전체를 파트너십으로 진행하게 한다.
Overview
DevOps의 가장 큰 고통: CI/CD 파이프라인 설정은 매번 처음 하는 것처럼 느껴진다. 프로젝트마다 Node 버전이 다르고, 테스트 명령어가 다르고, 배포 환경이 다르다.
DevOps 스킬은 Claude가 현재 프로젝트의 package.json, Dockerfile, 기존 workflow를 읽고 그에 맞는 CI/CD 설정을 생성하도록 한다. 템플릿이 아니라 현재 코드베이스에 맞춤화된 설정이다.
cc-devops-skills 패키지: Docker, Kubernetes, Terraform, GitHub Actions, 환경 진단, 마이그레이션 감사를 하나의 패키지로 제공. npx skills add akin-ozer/cc-devops-skills -g
- GitHub Actions workflow를 프로젝트 구조에 맞게 자동 생성할 수 있다
- Docker multi-stage 빌드로 이미지 크기를 최소화하는 원칙을 안다
- Terraform으로 AWS 인프라를 코드로 관리하는 기본 패턴을 이해한다
- 배포 체크리스트 스킬로 프로덕션 배포 전 자동 검증 루틴을 구성한다
Sections
GitHub Actions — 프로젝트 분석 기반 생성
DevOps 스킬의 핵심 기능: 기존 파일을 읽고 적합한 workflow를 생성한다.
package.json의 scripts를 보고 test/build/lint 명령어를 자동 파악. .nvmrc나 package.json engines를 보고 Node 버전 설정. Dockerfile이 있으면 docker build/push 스텝 추가. 환경변수는 GitHub Secrets 참조로 처리.
Docker Multi-stage — 이미지 최적화
Dockerfile 최적화의 3원칙: 1.
레이어 캐싱: COPY package.json → npm install → COPY src (의존성 변경이 없으면 install 캐시 재사용) 2.
Multi-stage: Builder(빌드 도구 포함) → Runner(빌드 산출물만) — 최종 이미지 크기 50-70% 감소 3.
비-root 사용자: 보안을 위해 USER node 추가
DevOps 스킬은 이 세 원칙을 항상 적용한다.
배포 체크리스트 Hook 연동
배포 직전 체크리스트 스킬을 PostToolUse Hook으로 연동하면, git push가 실행될 때마다 자동으로 체크리스트가 돌아간다.
환경변수 검증 → 마이그레이션 상태 → 테스트 통과 → 보안 헤더 → 롤백 계획. 하나라도 실패하면 push를 차단한다.
숙련된 파일럿도 비행 전 체크리스트를 생략하지 않는다. 익숙함이 실수를 낳는다는 걸 알기 때문이다. DevOps 스킬의 배포 체크리스트는 경험 많은 엔지니어도 실수하는 환경변수 누락, 마이그레이션 미실행, 보안 설정 오류를 시스템적으로 방지한다.
DevOps 스킬이 생성하는 GitHub Actions workflow (Next.js 프로젝트 기준)
name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc' # .nvmrc 자동 감지
cache: 'npm'
- run: npm ci
- run: npm run lint
- run: npm test -- --coverage
- name: Upload coverage
uses: codecov/codecov-action@v4
build-and-deploy:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: |
docker build \
--build-arg NODE_ENV=production \
-t ${{ secrets.REGISTRY }}/app:${{ github.sha }} .
- name: Push to registry
run: |
echo ${{ secrets.REGISTRY_PASSWORD }} | docker login -u ${{ secrets.REGISTRY_USER }} --password-stdin
docker push ${{ secrets.REGISTRY }}/app:${{ github.sha }} DevOps 스킬은 .nvmrc 파일 존재를 감지해 node-version-file을 자동 설정한다. 시크릿은 하드코딩 없이 GitHub Secrets 참조로만 처리한다.
✅ 시니어가 보는 것
- 시크릿이 GitHub Secrets/환경변수로만 참조되는가
- node_modules 캐싱으로 CI 속도를 최적화했는가
- Docker 이미지가 multi-stage로 최소화되어 있는가
- 배포 실패 시 롤백 계획이 있는가
Key Takeaways
DevOps 스킬은 현재 코드베이스를 읽고 생성한다
템플릿이 아니라 프로젝트 파일 분석 기반 맞춤 설정이다.
배포 체크리스트는 Hook으로 강제 실행
CLAUDE.md 규칙은 무시될 수 있지만 PreToolUse Hook은 시스템이 보장한다.
Docker multi-stage로 이미지 크기 50-70% 감소
빌드 도구와 런타임 이미지를 분리하는 것이 표준이다.