• CI/CD 파이프라인을 구축하고 관리하는 데 널리 사용되는 도구 Jenkins와 GitLab CI/CD
    • Jenkins: 오픈 소스 CI/CD 도구 선구자. 다양한 플러그인과 확장성 제공해 조직에 딱 맞는 파이프라인 만들도록 지원함
    • GitLab CI/CD: Git 저장소와 통합된 플랫폼. 소스 코드와 CI/CD 파이프라인을 하나의 장소에서 관리하는 통합 접근 방식 제공함
  • Jenkins 특징
    • GUI 환경
      • GUI 환경에서 복잡한 파이프라인을 시각적으로 확인하며 단계별로 구성하도록 지원
      • 변수 넣거나 환경 구성할 때 편리하게 사용할 수 있어 사용자가 자유롭게 스텝 설계
    • 수많은 플러그인과 생태계
      • 활발한 오픈 소스 커뮤니티와 풍부한 생태계 갖춤
      • 이 생태계에는 수많은 플러그인이 있어 사용자가 다양한 개발 언어, 테스팅 도구, 배포 환경 등을 사용할 수 있음
      • 이로써 개발팀은 필요한 기능을 선택해 파이프라인 구성, 확장
    • 설치
      • 필요한 플러그인 찾고 설정하는 데 시간이 듦
    • UI/UX
      • 간단한 파이프라인은 GUI 사용할 수 있음
      • Groovy 문법과 Jenkins 문법 익혀야 함
  • GitLab CI/CD 특징
    • 통합 환경
      • 소스 코드와 CI/CD 파이프라인을 한 곳에서 관리할 수 있음
    • GitOps
      • .gitlab-ci.yml 파일 사용해 파이프라인 정의. 이 파일은 프로젝트 소스 코드에 포함됨, 개발자는 코드와 함께 파이프라인 설정, 업데이트할 수 있음
      • CI/CD 설정 파일이 바뀔 때마다 설정 파일 자체를 검증할 수 있고, 잘못 설정하더라도 이전 상태로 돌아가기 쉬움
    • 다양한 러너 지원
      • 다양한 실행 환경에서 작동하는 러너 지원
      • GitLab이 제공하는 러너 사용할 수 있고, 직접 구축해 사용할 수도 있음
    • UI/UX
      • YAML과 GitLab CI/CD 문법에 익숙해야 함
    • 확장성
      • Docker 러너 사용해 수많은 기능 바로 사용할 수 있음