
Jenkins는 코드 변경을 자동으로 빌드, 테스트, 배포해주는 CI/CD 자동화 도구입니다.
👉 지속적 통합(Continuous Integration, CI) / 지속적 배포(Continuous Delivery, CD)
쉽게 설명해보면, 예를들어 개발자가 GitHub에 코드를 push했을 때
1. 젠킨스가 GitHub를 감시하고 있다가
2. 새로운 커밋 발생 시 자동으로 코드를 가져와서
3. 빌드하고 (컴파일)
4. 테스트를 실행항 후
5. 서버에 자동으로 배포를 해줍니다.
즉, 개발자가 일일이 하지 않아도 빌드, 테스트, 배포를 젠킨스가 자동으로 처리해주는 아주 편리한 도구입니다.
🔁 자동화된 빌드 및 테스트
➡ Jenkins는 코드 변경을 감지하여 자동으로 빌드와 테스트를 실행합니다.
➡ 개발자는 커밋만 해도 최신 코드를 빠르게 검증할 수 있어, 오류를 조기에 발견하고 품질을 유지할 수 있습니다.
🔌 플러그인 확장성
➡ 500개 이상 플러그인을 통해 Git, Maven, Docker 등 다양한 도구와 연동 가능합니다.
➡ 필요한 기능을 쉽게 추가해 유연하게 시스템 구성이 가능합니다.
🖥️ 다양한 플랫폼 지원
➡ Windows, MacOS, Linux 등 다양한 운영체제에서 실행 가능합니다.
🌐 웹 기반 UI 제공
➡ 웹 브라우저에서 접근 가능한 대시보드를 제공하여, 별도의 명령어 없이도 작업 상태 확인, 로그 추적, Job 설정 등을 쉽게 관리할 수 있습니다.
🧵 분산 빌드 지원
➡ Master-Agent 구조를 통해 여러 노드에서 빌드를 병렬 또는 분산 실행할 수 있어, 대규모 프로젝트에서도 빌드 속도를 향상시킬 수 있습니다.
🧪 테스트 및 코드 품질 검사
➡ 테스트 자동화뿐 아니라 정적 분석 도구(SonarQube 등)와 연계하여 코드 품질과 규약 준수 여부를 점검할 수 있습니다.