개요

CI/CD (Continuous Integration / Continuous Delivery)는 코드 변경을 자동으로 빌드, 테스트, 배포하는 소프트웨어 개발 방식입니다. 주요 CI/CD 도구를 비교합니다.

CI/CD 파이프라인 기본 흐름

[코드 푸시] → [빌드] → [테스트] → [보안 스캔] → [스테이징 배포] → [승인] → [프로덕션 배포]

주요 도구

GitHub Actions

항목내용
제공GitHub (Microsoft)
유형클라우드 (셀프호스팅 러너 지원)
설정.github/workflows/*.yml
무료퍼블릭 리포 무제한, 프라이빗 2,000분/월
on: [push]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm install && npm test

장점: GitHub 네이티브, 마켓플레이스 (20,000+ 액션), 매트릭스 빌드, OIDC 단점: 복잡한 파이프라인은 YAML 지옥, 디버깅 어려움

GitLab CI/CD

항목내용
제공GitLab
유형클라우드 + 셀프호스팅
설정.gitlab-ci.yml
무료400분/월 (SaaS), 셀프호스팅 무제한

장점: GitLab과 완전 통합, DAG 파이프라인, 내장 컨테이너 레지스트리, 보안 스캔 내장 단점: GitLab 생태계 종속

Jenkins

항목내용
유형셀프호스팅 (오픈소스)
설정Jenkinsfile (Groovy)
무료완전 무료

장점: 가장 오래된 CI/CD, 1,800+ 플러그인, 완전한 커스터마이징 단점: 설정/관리 복잡, UI 구식, 플러그인 호환성 이슈

ArgoCD

항목내용
유형GitOps CD (Kubernetes 전용)
핵심Git 리포 = 원하는 상태 → K8s 자동 동기화
무료오픈소스

장점: GitOps 표준, K8s 네이티브, 선언적, 자동 동기화/롤백 단점: K8s 전용, CI 기능 없음 (별도 CI 도구 필요)

CircleCI

항목내용
유형클라우드 (셀프호스팅 가능)
무료6,000분/월

장점: 빠른 빌드, Docker 레이어 캐싱, Orbs (재사용 설정) 단점: 가격, 과거 보안 사고

Tekton

항목내용
유형Kubernetes 네이티브 CI/CD 프레임워크
개발Google/CD Foundation
무료오픈소스

장점: K8s 네이티브, 클라우드 벤더 중립, 파이프라인 재사용 (카탈로그) 단점: 학습 곡선 높음, 직접 구축 필요

기타

도구특징
Drone CI컨테이너 네이티브, 경량, YAML
Buildkite하이브리드 (클라우드 오케스트레이션 + 셀프호스팅 에이전트)
Dagger파이프라인을 코드로 작성 (Go/Python/TS), 로컬에서 동일 실행
FluxArgoCD 대안, CNCF GitOps
AWS CodePipelineAWS 네이티브
Azure DevOpsMicrosoft, 올인원

비교

도구유형K8sGitOps난이도최적 용도
GitHub Actions클라우드O낮음GitHub 프로젝트
GitLab CI하이브리드OO중간GitLab 생태계
Jenkins셀프호스팅O높음레거시, 완전 커스텀
ArgoCD셀프호스팅전용최강중간K8s GitOps CD
CircleCI클라우드O낮음빠른 빌드
Tekton셀프호스팅전용O높음K8s 네이티브 CI
Dagger로컬+클라우드OX중간파이프라인 as Code

선택 가이드

상황추천
GitHub 사용GitHub Actions
GitLab 사용GitLab CI
Kubernetes 배포ArgoCD (CD) + GitHub Actions/Tekton (CI)
셀프호스팅 (비K8s)Jenkins or Drone CI
로컬 파이프라인 디버깅Dagger
엔터프라이즈 (Microsoft)Azure DevOps

관련 항목