젠킨스란?

소프트웨어 개발의 지속적 통합(CI)와 지속적 배포(CD) 프로세스를 자동화하는 데 널리 쓰이는 오픈 소스 자동화 서버이다.

Java로 개발된 이 도구는 버전 커트롤 시스템(SVC)과 통합해 소프트웨어 개발 프로젝트의 빌드, 테스트, 배포 작업을 자동으로 실행한다.

젠킨스는 플로그인 기반 구조를 갖추고 있어 다양한 개발, 테스팅, 배포 도구들과 쉬운 통합이 가능

장점

유연성 : 플러그인으로 확장 가능한 구조로 다양한 도구와 통합을 지원

커뮤니티 : 오픈 소스 프로젝트로서 활발한 커뮤니티 지원과 광범위한 플러그인 생태계가 구축되어 있음

자동화 : 소프트웨어 개발 과정에서 반복적인 작업을 자동화함으로써 생산성을 향상 시킨다.

단점

학습 곡선 : 젠킨스와 플러그인 시스템은 초기 설정과 관리에 있어 상당한 학습이 필요

리소스 요구랑 : 복잡한 프로젝트에서는 상당한 시스템 리소스를 소모할 수 있음

성능 이슈 : 대규모 프로젝트 혹은 높은 동시성 유구하는 프로젝트에서 빠른 속도의 CI/CD 파이프라인을 요구하는 환경에서는 Jenkins를 다루기 어려울 수 있음

작업과 빌드