Unity로 만든 모바일 게임을 Android에 배포하는 자동화 시스템을 구축을 하고 있다 .
그러면서 아래와 같은 고민점이 생겼다.
<aside> 🧐
Firebase 배포와 Slack 알림을 Jenkins에서 처리하는게 좋을까?
아니면 GitHub Actions로 넘기는 게 좋을까?
</aside>
Firebase 배포와 Slack 알림은 GitHub Actions에서 처리하는 것이 실무적으로 더 적합하다.
GitHub (Unity 프로젝트)
↓
GitHub Actions
├─ Slack 알림 (빌드 시작)
├─ Jenkins Unity Build 트리거
└─ Firebase 배포 트리거 (repository_dispatch)
↓
Jenkins (EC2)
├─ Unity Android 빌드
├─ APK → S3 업로드
├─ Prometheus 메트릭 노출
└─ GitHub Actions 호출 (배포 지시)
↓
GitHub Actions (firebase_deploy)
├─ Firebase App Distribution
└─ Slack 알림 (성공/실패)
| 항목 | Jenkins에서 처리 | GitHub Actions에서 분리 |
|---|---|---|
| 유지보수 | ❌ 복잡 | ✅ 단순 |
| 보안 관리 | ❌ EC2에 키 저장 | ✅ GitHub Secrets 사용 |
| SaaS 연동 | ❌ 직접 구현 | ✅ 공식 액션으로 간단 처리 |
| 실패 원인 추적 | ❌ 파이프라인 혼합 | ✅ CI/CD 분리로 명확 |
| 리소스 관리 | ❌ Jenkins 빌드 큐 소모 | ✅ GitHub Actions에서 분산 처리 |