개발 이야기/Jenkins

[Jenkins] 젠킨스란 무엇인가?

올리버 2021. 12. 5. 18:20

젠킨스란?

  • Java Runtime 위에서 동작하는 자동화 서버이다.
  • 다양한 플러그인을 종합해서 CI/CD Pipeline을 만들어서 자동화 작업이다.

CI(Continuous Integration)란?

  • 여러 개발자들의 코드를 계속해서 통합하는 것이다.
  • 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합히는 것을 의미한다.

CD(Coutinuous Delivery)란?

  • 개발자들이 코드를 계속 작성하면, 사용자 및 내부 사용자들(QA 등등)이 계속 쓸 수 있게 만드는 것이다.

젠킨스와 같은 툴이 등장하기 전에는 일정시간마다 빌드를 실행하는 방식이 일반적이다.

특히 개발자들이 당일 작성한 소스들의 커밋이 모두 끝난 심야 시간대에 이러한 빌드가 타이머에 의해 집중적으로 진행되었는데, 이를 Nightly-Build라고 했다.

하지만, 젠킨스는 정기적인 빌드에서 한발 나아가 SVN, Git과 같은 버전관리시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다.

 

 

결론적으로 젠킨스는 빌드, 테스트, 배포를 실행 시켜주는 툴이다.

 

젠킨스의 이점

  • 각종 배치 작업의 간략화
  • Build 자동화의 확립
  • 자동화 테스트
  • 코드 표준 준수여부 검사
  • 빌드 파이프라인 구성
    • 빌드 파이프라인을 구성하여 스크립트로 복잡한 제어도 가능하다.

참고