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 알림 (성공/실패)

✅ 왜 GitHub Actions에서 Firebase 배포를 처리하는가?


❓ 그냥 Jenkins에서 다 처리하면 안 되는가?

항목 Jenkins에서 처리 GitHub Actions에서 분리
유지보수 ❌ 복잡 ✅ 단순
보안 관리 ❌ EC2에 키 저장 ✅ GitHub Secrets 사용
SaaS 연동 ❌ 직접 구현 ✅ 공식 액션으로 간단 처리
실패 원인 추적 ❌ 파이프라인 혼합 ✅ CI/CD 분리로 명확
리소스 관리 ❌ Jenkins 빌드 큐 소모 ✅ GitHub Actions에서 분산 처리