카테고리 자체, GitHub Actions만이 아니야
이번 퀘스트는 GitHub Actions에 집중하지만, 이건 20년 넘게 진화해 온 도구 카테고리 중 하나일 뿐이야. 다른 대안들을 알아두면 Actions의 설계 방향을 이해하는 데 큰 도움이 되고, 상황에 따라 다른 도구로 갈아탈 수도 있어.
자체 호스팅 서버 도구
- Jenkins — 원로급 도구야. 무료고 무한히 유연하지만 직접 호스팅해야 해. 플러그인 생태계는 거대한데 좀 낡긴 했어. 여전히 거대한 엔터프라이즈 파이프라인을 돌리는 데 쓰여.
- TeamCity — JetBrains에서 만들었어. 강력한 UI를 갖추고 있어서 모놀리식 구조의 회사에 잘 맞아.
- GoCD — 파이프라인을 코드로 관리하는 기능과 강력한 의존성 모델링이 특징이야.
소스 코드 플랫폼 통합형
- GitHub Actions — GitHub 안에서 바로 돌아가. 저장소 안에 YAML로 정의하고, 공유 액션 마켓플레이스를 쓸 수 있어. 코드가 GitHub에 있다면 기본 선택이야.
- GitLab CI/CD — GitLab에서 비슷한 방식으로 제공해.
.gitlab-ci.yml과 GitLab 러너를 쓰고, 엔드 투 엔드 자체 호스팅도 가능해. - Bitbucket Pipelines — Atlassian 제품이야. 저장소 안에 YAML로 설정하고, Atlassian 환경에 최적화돼 있어.
클라우드 네이티브 CI
- CircleCI — 클라우드 CI의 선구자야. 강력한 캐싱과 병렬 처리를 지원하고, 분 단위로 요금을 매겨.
- Buildkite — 하이브리드 방식이야. 오케스트레이터는 자기네 걸 쓰고 러너는 자체로 둬. 성능 좋은 커스텀 하드웨어로 스케일업해야 할 때 인기가 많아.
- Travis CI — 한때 오픈소스 프로젝트의 기본 도구였어. 지금은 오픈소스 진영도 대부분 Actions로 넘어갔지.
클라우드 벤더 네이티브
- AWS CodePipeline + CodeBuild, Google Cloud Build, Azure DevOps Pipelines — 이미 해당 클라우드 환경에 깊이 의존하고 있을 때 최선의 선택이야.
특수 목적
- Argo CD — Kubernetes용 GitOps 도구야. 파이프라인 상태는 Git에 두고, 배포는 클러스터에서 이뤄져.
- Tekton — Kubernetes 네이티브 CI 기본 요소야. 직접 조립해서 쓰는 방식이지.