티스토리 뷰

728x90

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와 잘 통합되는 스캐너

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함