배경
현재 백엔드 배포는 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회)
- Mac Mini에 GitHub Actions runner 설치 및 서비스 등록
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에 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회)
runs-on: self-hosted로 워크플로우 작성워크플로우
환경 변수 관리
현재:
.env.backend.prod수동 관리 (#118 에서 통합 완료)향후: SOPS/age 암호화 도입 검토
체크리스트
deploy-backend.yml)관련