GitHub Actions에서 Docker Compose 서비스를 무중단으로 배포하는 액션
중간맛 분석
GitHub Actions 워크플로우에서 SSH로 자신의 서버에 배포합니다. -rollout 플러그인을 사용해 무중단 배포를 구현하며, 헬스체크 기반의 자동 롤백을 지원합니다. 마이그레이션(pre-), 드레이닝(pre-stop-hook), 배포 후 작업(post-)을 완벽히 제어할 수 있고, 실시간 부하 테스트를 통해 0개 요청 손실을 검증합니다. 데모는 test/run-local.sh로 로컬 에서 전체 시나리오를 재현할 수 있습니다.
이런 레포예요
이럴 때 쓰면 좋아요
- Node.js, Python, Go 등의 웹 애플리케이션을 무중단으로 배포할 때
- 데이터베이스 마이그레이션과 함께 배포해야 할 때
- 배포 중 요청 손실을 허용할 수 없는 본프로덕션 서비스
핵심 기능
대안 대비 차별점
Kubernetes 없이 순수 Docker Compose와 역프록시만으로 무중단 배포를 구현하며, 실제 부하 테스트를 통해 0개 요청 손실을 검증합니다.
먹어본 사람들
실제로 차려 먹어본 손님들의 흔적이에요 — 한마디와 완주 인증 모두 검수 후 공개돼요.
이 레포, 해먹는 법
처음 오셨어요? 어렵지 않아요 — 위에서 아래로 따라 하면 내 컴퓨터에 이 레포를 차려서 바로 맛볼 수 있어요.
준비물
- Docker with Compose v2 plugin
- Bash 4.4+
- SSH 접근 권한
- 역프록시 (Traefik, nginx-proxy, Caddy 등)
바로 시작하기
- 레포지토리 복제
git clone https://github.com/mtizima/docker-rollout-action.git
- SSH 키와 known_hosts 설정
ssh-keyscan -p 22 your.server >> ~/.ssh/known_hosts
-
GitHub Secrets에 SSH_HOST, SSH_USER, SSH_KEY, SSH_KNOWN_HOSTS 등록
-
워크플로우 파일 생성 (.github/workflows/deploy.yml)
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: mtizima/docker-rollout-action@v1
with:
host: ${{ secrets.SSH_HOST }}
user: ${{ secrets.SSH_USER }}
ssh-key: ${{ secrets.SSH_KEY }}
known-hosts: ${{ secrets.SSH_KNOWN_HOSTS }}
project-dir: /opt/myapp
services: web
- 로컬 테스트 실행 (선택사항)
bash test/run-local.sh
- 커밋 후 푸시하면 워크플로우가 자동 실행
git commit -am "Deploy configuration"
git push origin main
깃밥트라이로 맛보기
받아보기 귀찮고 살짝 불안했다면 — 안전 스캔부터 설치까지 터미널 한 줄로 끝나요.
터미널에 붙여넣으면 깃밥 안전 스캔 → 격리 폴더 clone → 설치 → 실행법 안내까지 자동이에요. 처음이어도 괜찮아요 — 이 한 줄이 전부예요.
npx gitbap-try mtizima/docker-rollout-action
Node.js만 있으면 설치 없이 실행돼요 · 깃밥트라이가 뭐예요? →
별 추이 · 7일
확인 시각
활용성 · 따라 만들기 좋은가
- 관대한 라이선스
- 테스트 있음
- 예제 디렉토리
- 최근 활동
- AGENTS.md
- llms.txt
- 템플릿
🟢 최근 활동 있음 · 2026년 생성
「데브옵스·인프라」 이런 레포, 매주 받아보실래요?
매주 월요일 아침, 골라 담은 밥상만. 광고 없이 · 언제든 해지.
내 레포인가요? README에 깃밥 배지 달기
[](https://www.gitbap.com/r/mtizima/docker-rollout-action)🔌 클로드에서 바로 써보기 — 깃밥 연결하는 법
깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.
클로드 설정 → 커넥터에 이 주소를 붙여넣기.
https://www.gitbap.com/api/mcp플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기