세상이 Actions를 기본으로 삼게 된 강점
GitHub Actions는 2018년에 나왔고, 3년 안에 대부분의 새 프로젝트에서 기본 CI 자리를 차지했어. 기술적으로 엄청난 천재성이 있어서라기보단, 그냥 실용적이기 때문이야.
- 코드 옆에 있다. 워크플로는
.github/workflows/경로에 있는 YAML 파일이야. 코드처럼 버전 관리되고, PR에서 리뷰도 받고, 자동으로 저장소 범위에 묶여. - 마켓플레이스. 의존성 캐시, AWS 배포, 도커 이미지 빌드, 슬랙 알림 같은 흔한 작업을 처리할 수 있는 미리 만들어진 액션이 수만 개나 있어. 조합할 수 있는 폭이 장난 아니야.
- 오픈소스는 무료. 공개 저장소엔 여유로운 무료 분량이 있고, macOS나 Windows 러너도 무료야. 요즘 오픈소스 프로젝트들이 전부 초록색 빌드 배지를 달고 배포하는 이유가 바로 이거야.
- 인증은 하나로. 깃허브 계정만 있으면 CI도 쓸 수 있어. 프로비저닝이나 라이선스, 결제를 따로 할 도구가 필요 없어.
- 기본 UI 통합. PR 상태 확인, 환경 배포, 비밀값 관리까지 전부 코드 리뷰하는 바로 그 UI에서 다 해결돼.
알아둬야 할 약점
- 벤더 종속성은 실재해. 워크플로 YAML과 액션 생태계가 GitHub 전용이야. 다른 곳으로 옮기는 일이 만만치 않아.
- 마켓플레이스 액션 대부분은 서드파티 코드야. SHA로 고정하고, 중요한 건 꼭 감사하고, 프로덕션에선
latest는 절대 쓰지 마. (비밀값/보안 트랙에서 다뤄.) - 아주 무거운 워크로드엔 느려. 64코어 머신이나 퍼시스턴트 캐시가 있는 GPU 러너가 필요하면 보통 러너를 직접 호스팅해.
- 상태를 유지하는 워크플로는 어색해. 액션은 상태 없는 빌드, 테스트, 배포를 아주 잘해. 오래 돌며 상태를 유지해야 하는 파이프라인(긴 배치 작업)에는 Argo나 Airflow 같은 오케스트레이터가 더 필요해.