콘텐츠로 이동

Jenkins (젠킨스)

Jenkins는 소프트웨어 개발 시 지속적인 통합(CI, Continuous Integration)과 지속적인 배포(CD, Continuous Delivery/Deployment)를 지원하는 오픈 소스 자동화 서버입니다.
Java로 개발되었으며, 수많은 플러그인을 통해 빌드, 테스트, 배포 프로세스를 자동화하고 시각화할 수 있는 강력한 도구입니다.

💡 핵심 특징

1. 광범위한 플러그인 생태계

Jenkins는 1,800개 이상의 플러그인을 제공하여 Git, Docker, Kubernetes, Maven, Gradle, AWS 등 사실상 거의 모든 개발/운영 도구와 연동할 수 있습니다.

2. 파이프라인 (Pipeline as Code)

Jenkinsfile이라는 텍스트 파일을 통해 전체 빌드 및 배포 파이프라인을 코드로 정의할 수 있습니다. 이를 통해 파이프라인을 버전 관리 시스템(Git 등)에서 관리하고, 팀원들과 공유하며, 변경 이력을 추적할 수 있습니다.

3. 분산 빌드 지원

마스터-에이전트(Master-Agent) 구조를 지원하여, 빌드 부하를 여러 대의 서버로 분산시키거나 다양한 운영체제 환경(Linux, Windows, macOS)에서 동시에 테스트를 수행할 수 있습니다.

4. 무료 오픈 소스

MIT 라이선스를 따르는 무료 오픈 소스 소프트웨어로, 비용 부담 없이 도입하여 사용할 수 있으며 활발한 커뮤니티의 지원을 받을 수 있습니다.

🚀 도입 효과

  • 개발 생산성 향상: 반복적인 빌드/배포 작업을 자동화하여 개발자는 핵심 비즈니스 로직 구현에 집중할 수 있습니다.
  • 품질 향상: 코드가 커밋될 때마다 자동으로 테스트를 수행하므로 버그를 조기에 발견하고 수정할 수 있습니다.
  • 배포 안정성: 표준화된 배포 프로세스를 통해 사람의 실수(Human Error)를 방지하고 안정적인 릴리스를 보장합니다.

이 문서는 Jenkins 시리즈의 첫 번째 파트입니다. 이어지는 문서에서는 설치 방법, 사용 방법, 그리고 실전 예제에 대해 다룹니다.