본문 바로가기
C.W.K.
Stream
Lesson 09 of 12 · published

CI/CD landscape

~11 min · tools, comparison, landscape

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

카테고리 자체, 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 기본 요소야. 직접 조립해서 쓰는 방식이지.

Code

같은 아이디어 — 문법 세 가지·yaml
# GitHub Actions
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pytest

# GitLab CI
test:
  image: python:3.12
  script:
    - pytest

# CircleCI
version: 2.1
jobs:
  test:
    docker:
      - image: cimg/python:3.12
    steps:
      - checkout
      - run: pytest

External links

Exercise

이 생태계에서 한 번도 안 써본 도구 하나 골라봐. 'getting started' 문서를 15분 안에 읽어. 그리고 세 문장으로 정리해: 어디서 빛을 발하는지, 어디서 Actions보다 뒤처지는지, 그리고 어떤 프로젝트는 Actions 대신 그 도구를 써야만 하는지.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.