기본 컨테이너 파이프라인
도커 이미지를 빌드해서 레지스트리에 푸시하는 표준 패턴은 액션 세트를 활용해. docker/setup-buildx-action로 멀티 플랫폼을 지원하고, docker/login-action으로 레지스트리 인증을 처리한 다음, docker/build-push-action으로 빌드와 캐시를 함께 푸시하면 돼.
어디에 푸시할까
- ghcr.io (GitHub Container Registry) — 가장 추천하는 기본값이야.
GITHUB_TOKEN으로 인증하고 기존 권한 모델을 그대로 쓸 수 있어. - Docker Hub — 과거부터 쓰던 기본값이지만, 무료 등급에서는 이미지 요청에 제한이 있어.
- ECR / Artifact Registry / ACR — AWS, GCP, Azure 환경에서 청구를 하나로 묶고 싶을 때 써.
유용한 태그 컨벤션
:<sha-7>— 모든 이미지를 깃 커밋으로 추적할 수 있어.:v1.4.2— 릴리스 버전이며, 태그를 푸시할 때만 써.:latest— 계속 움직이는 포인터라서 프로덕션 매니페스트에는 쓰면 안 돼.:edge— 메인 브랜치의 최신 상태를 가리키며, 스테이징 환경에 써.
빌드 캐시
GitHub Actions 캐시 백엔드를 사용해: cache-from: type=gha, cache-to: type=gha, mode=max. 별도로 레지스트리 캐시를 설정하지 않아도 실행마다 레이어 캐싱이 가능해.