Skip to content

feat(ci): 백엔드 CD 파이프라인 구축 (Mac Mini Docker 배포 자동화) #119

@cocoyoon

Description

@cocoyoon

배경

현재 백엔드 배포는 Mac Mini에 SSH 후 bash scripts/deploy-backend.sh prod up --build 수동 실행.
CD 파이프라인이 없어 배포 주기가 느리고, 배포 이력 추적이 안 됨.

목표

main 머지 시 Mac Mini Docker 환경에 자동 배포.

구현: GitHub Actions Self-hosted Runner

Mac Mini에 GitHub Actions runner를 설치하여 배포 대상 머신에서 직접 실행.

셋업 (1회)

  1. Mac Mini에 GitHub Actions runner 설치 및 서비스 등록
  2. runs-on: self-hosted로 워크플로우 작성

워크플로우

main 머지 → GitHub Actions 트리거
  → 변경 감지 (packages/api-server/** 또는 packages/ai-server/**)
  → self-hosted runner (Mac Mini)에서 실행
  → docker compose build + up
  → health check 확인
  → Telegram 알림 (성공/실패)

환경 변수 관리

현재: .env.backend.prod 수동 관리 (#118 에서 통합 완료)
향후: SOPS/age 암호화 도입 검토

체크리스트

  • Mac Mini에 GitHub Actions self-hosted runner 설치
  • runner를 macOS 서비스로 등록 (재부팅 시 자동 시작)
  • GitHub Actions workflow 작성 (deploy-backend.yml)
  • 변경 감지 (api-server / ai-server 경로 필터)
  • Health check 검증 단계
  • 롤백 전략 (이전 이미지 태깅)
  • Telegram 알림 연동
  • env 파일 암호화 방안 적용

관련

Metadata

Metadata

Assignees

Labels

backend백엔드/APIrelease: phase-22차 릴리즈 (4/12) — 로그인, 유저

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions