CI/CD 및 배포 아키텍처 스킬
이 스킬은 AI 에이전트와 기여자가 GitHub Actions CI/CD 파이프라인, 컨테이너 이미지 게시 및 자동화된 배포를 유지 관리하는 방법을 안내합니다.
1. 로컬 브랜치 우선 개발 및 커밋 주기
[!IMPORTANT] 먼저 로컬 브랜치를 생성하고 자주 커밋하세요: 항상
main에서 전용 로컬 브랜치를 생성하는 것으로 시작하세요:git switch -c <개발자-또는-에이전트>/main/<기능-이름>각 논리적 마일스톤에서 커밋하세요(커밋이 많을수록 작업 설명이 더 명확해집니다).
main에 직접 커밋하지 마세요.
2. 다중 환경 CI/CD 파이프라인
jobs:
backend-test:
name: 백엔드 테스트 및 빌드
steps:
- uses: actions/setup-go@v5
- run: go test -v -race ./...
- run: go build -v ./...
service-test:
name: Python 서비스 테스트 및 린트
steps:
- uses: astral-sh/setup-uv@v5
- run: uv sync
- run: uv run pytest
frontend-test:
name: 프론트엔드 린트 및 빌드
steps:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
- run: pnpm install --frozen-lockfile
- run: pnpm run lint
- run: pnpm run build
3. 로컬 CI 미러링 실행 가이드
변경 사항이 커밋 전에 CI를 통과하는지 확인하려면:
# 1. 사전 커밋 게이트 실행 (CI 검사의 정확한 미러)
make pre-commit
# 2. 또는 로컬에서 개별 CI 작업을 실행:
# Go 백엔드:
go test -v -race ./... && go build -v ./...
# Python 서비스:
uv run pytest
# 프론트엔드:
pnpm run lint && pnpm run build
4. 비밀 vs 중앙 집중식 구성
- 비밀:
.env/ CI 비밀 및 런타임 대시보드에 엄격하게 정의됨 (DATABASE_URL,API_KEY,JWT_SECRET). - 운영 기본값: 코드 모듈에 중앙 집중식으로 저장됨.
- CI 워크플로 YAML이나 Git 커밋에 비밀을 하드코딩하지 마세요.