CI_CD
CI/CD 파이프라인 구축 시 추천 오픈소스 도구
ipxy
2025. 3. 23. 08:32
CI/CD 파이프라인 구축 시 사용할 수 있는 추천 오픈소스 도구들을 목적별로 나누어 정리해드릴게요. 각 도구는 역할이 다르므로 조합해서 사용하는 것이 일반적입니다.
🔧 1. CI 도구 (Continuous Integration)
도구 |
설명 |
특징 |
Jenkins |
가장 널리 사용되는 오픈소스 CI 서버 |
플러그인 풍부, 커스터마이징 유연 |
GitLab CI/CD |
GitLab과 통합된 CI/CD 도구 |
YAML 기반 설정, GitOps 친화적 |
GitHub Actions |
GitHub에 내장된 CI/CD 기능 |
간편한 워크플로우, 커뮤니티 액션 다양 |
Drone CI |
컨테이너 기반 경량 CI 도구 |
YAML 기반, 쿠버네티스 친화적 |
CircleCI |
고성능 클라우드 CI/CD 도구 (부분 오픈소스) |
빠른 빌드, 캐시 최적화 |
🚀 2. CD 도구 (Continuous Delivery/Deployment)
도구
|
설명 |
특징 |
Argo CD |
GitOps 기반 쿠버네티스 배포 도구 |
선언적 배포, UI 제공, 실시간 Sync |
Flux CD |
CNCF 프로젝트, GitOps 방식 배포 도구 |
Git webhook 기반 자동 배포 |
Spinnaker |
Netflix에서 만든 배포 자동화 도구 |
멀티 클라우드 지원, 고급 배포 전략 |
Jenkins X |
Jenkins의 GitOps 기반 확장 도구 |
쿠버네티스 중심 CI/CD |
Keptn |
SLO 기반 자동화 배포 도구 |
카나리, 롤백, 모니터링 통합 자동화 |
📦 3. 빌드 도구
도구
|
설명 |
특징 |
Gradle |
자바 생태계에 최적화된 빌드 도구 |
빠른 빌드, 멀티모듈 지원 |
Maven |
안정성과 표준성이 높은 빌드 도구 |
의존성 관리에 강함 |
Bazel |
Google에서 만든 확장성 높은 빌드 시스템 |
캐시와 분산 빌드 최적화 |
BuildKit |
Docker에서 만든 고속 이미지 빌더 |
레이어 캐시, 병렬 빌드 지원 |
🔐 4. 시크릿 관리 / 보안
도구
|
설명 |
특징 |
HashiCorp Vault |
고급 시크릿/토큰/암호 관리 |
정책 기반 접근 제어 |
Sealed Secrets (Bitnami) |
K8s에서 Git에 안전하게 시크릿 저장 |
암호화된 시크릿 GitOps 방식 관리 |
SOPS (by Mozilla) |
YAML/JSON 파일 암호화 도구 |
Git에 시크릿을 안전하게 저장 가능 |
🧪 5. 테스트 및 린트 자동화
도구
|
설명 |
특징 |
JUnit |
자바 단위 테스트 도구 |
스프링과 연동 편리 |
Testcontainers |
통합 테스트용 컨테이너 제공 |
DB, MQ 등 실환경 시뮬레이션 |
SonarQube |
정적 코드 분석 도구 |
품질 게이트 설정 가능 |
Checkstyle / SpotBugs |
자바 코드 스타일 및 버그 탐지 |
린트 자동화 파이프라인 통합 용이 |
📊 6. 모니터링 및 피드백
도구
|
설명 |
특징 |
Prometheus + Grafana |
모니터링 및 시각화 스택 |
메트릭 수집, 대시보드 시각화 |
ELK Stack (Elasticsearch + Logstash + Kibana) |
로그 분석 스택 |
중앙집중 로그 수집 및 분석 |
Loki |
경량 로그 수집 시스템 |
Grafana와 연동 최적화 |
Sentry |
에러 추적 및 모니터링 |
프론트/백엔드 모두 지원 |
🌐 7. GitOps 및 IaC 도구
도구
|
설명 |
특징 |
Terraform |
인프라를 코드로 관리 |
멀티 클라우드 지원 |
Pulumi |
코드형 인프라 (TypeScript, Python 등 지원) |
개발자 친화적 |
Kustomize |
K8s 배포 리소스 템플릿화 도구 |
kubectl에 내장 |
Helm |
K8s 패키지 매니저 |
템플릿 기반 배포 자동화 가능 |
🐳 이미지 빌드 (Container Image Build)
✅ 주요 고려 사항
항목 |
설명 |
빌더 도구 선택 |
Docker, BuildKit, Kaniko, Buildah, Jib 등 |
이미지 최적화 |
멀티 스테이지 빌드, 불필요한 파일 제거 |
이미지 태깅 전략 |
커밋 해시, 버전, 브랜치명 기반 자동 태깅 |
보안 |
취약점 스캔(Trivy, Grype), 최소 이미지 사용 |
속도 향상 |
캐시 재사용, 빌더 캐시 저장소 활용 |
레지스트리 업로드 |
Docker Hub, GitHub Container Registry, Harbor, ECR 등 |
이미지 서명/검증 |
cosign, Notary, sigstore 등 |
🛠️ 대표 이미지 빌드 도구
도구 |
설명 |
특징 |
Docker CLI |
가장 기본적인 이미지 빌드 도구 |
Dockerfile 중심, 간단하고 직관적 |
BuildKit |
Docker의 차세대 빌드 백엔드 |
고속, 병렬 빌드, 캐시 최적화 |
Kaniko |
쿠버네티스 클러스터 내에서 Docker 권한 없이 이미지 빌드 |
CI/CD 파이프라인에 적합 |
Buildah |
Podman과 연동되는 이미지 빌드 도구 |
루트리스 빌드, Red Hat/OCI 친화적 |
Jib |
자바 애플리케이션 전용 이미지 빌더 (Google 제작) |
Dockerfile 없이 자바 프로젝트를 바로 이미지화 |
ko |
Go 프로젝트용 이미지 빌드 툴 |
쿠버네티스 + Go에 최적화 |
Bazel |
고성능 빌드 시스템, 이미지 빌더 역할도 가능 |
복잡한 빌드 캐시, 대규모 프로젝트용 |
📥 이미지 레지스트리(Registry)
레지스트리 |
설명 |
특징 |
Docker Hub |
가장 널리 사용되는 공용 레지스트리 |
프라이빗 요금제 있음 |
GitHub Container Registry (GHCR) |
GitHub와 통합된 레지스트리 |
GitHub Actions와 연동 용이 |
Harbor |
CNCF 프로젝트, 자체 호스팅 가능 |
보안, 접근 제어, 이미지 스캐닝 내장 |
Amazon ECR |
AWS 전용 컨테이너 레지스트리 |
IAM 연동, EKS와 원활한 통합 |
🔐 보안 스캔 도구
도구 |
설명 |
Trivy |
이미지 및 구성 파일의 취약점 스캔 |
Grype |
Syft 기반 이미지 취약점 분석기 |
Anchore Engine |
CI/CD에 통합 가능한 스캔 서버 |
Clair |
Harbor와 잘 통합되는 스캐너 |