728x90
반응형

젠킨스는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다.

CI툴 이라고도 한다.

 

다수의 개발자들이 하나의 프로그램을 개발할 때 충돌 방지하기 위해 작업한 내용을 공유영역에 있는 

저장소에 빈번히 업로드함으로써 지속적 통합이 가능하게 해준다.

 

젠킨스가 등장하기 전에는 빌드를 실행하는 방식이 일반적이다.

 

개발자들이 당일 작성한 소스들의 커밋이 모두 끝난 심야 시간대에 집중적으로 진행 되었는데,

이를 nightly-build라고 한다. 젠킨스는 정기적인 빌드레어 한 발 나아가 서브버전,

Git과 같은 버전관리 시스템을 연동하여 소스 커밋을 감지하면 

자동적으로 빌드가 작동되도록 설정 가능하다.

 

개발 중인 프로젝트에서 커밋은 매우 빈번히 일어나기에 커밋 횟수만큼 빌드를 실행하는 것이 아니라 작업이 큐잉되어

자신이 실행될 차례를 기다린다.

 

커밋 : 스마트 드라이브 따위와 같은 캐시 기억 장치에 디스크 정보를저장하라고 알려 주는 명령어 

큐잉 : 개별 단위들이 채널을 통하여 이동하는데 관계된 성질과 시간을 분석하여 큐를 만드는 방법

 

코드의 변경과 함께 이뤄지는 이 같은 자동화된 빌드와 테스트 작업들은 다음과 같은 이점을 가진다.

 

- 프로젝트 표준 컴파일 환경에서의 컴파일 오류 검출

- 자동화 테스트 수행 

- 정적 코드 분석에 의한 코딩 규약 준수여부 체크

- 프로파일링 툴을 이용한 소스 변경에 따른 성능 변화 감시

- 결합 테스트 환경에 관한 배포작업

 

이 외에도 젠킨스는 500여가지 넘는 플러그인을 온라인으로 간단히 인스톨 할 수 있는 기능을 제공하며 파이썬과 같은 스크립트를 이용하여 손쉽게 자신에게 필요한 기능 추가 가능 하다.

 

각종 배치 작업의 간략화 

 

프로젝트 기간 중에 개발자들은 순수한 개발 작업 이외에 DB셋업이나 환경설정,Deploy 작업과 같은 단순 작업에 시간과 노력을 들이는 경우가 빈번하다. 데이터베이스의 구축, 어플리케이셔 서버로의 Deloy, 라이브러리 릴리즈와 같이 이전에 CLI로 실행되던 작업들이 젠킨스 덕분에 웹 인터페이스로 손쉽게 가능해졌다.

 

자동화 테스트 

 

자동화 테스트는 젠킨스를 사용해야 하는 가장 큰 이유 중 하나이며 사실상 자동화 테스트가 포함되지 않은 빌드는 

CI자체가 불가능하다고 봐도 무방하다. 젠킨스는 Subversion이나 Git과 같은 버전관리시스템과 연동하여 변경을 감지하고 자동화 테스트를 수행하기에 만약 개인이 미처 실시하지 못한 테스트가 있다 하여도 든든한 안전망이 되어준다. 

 

출처 : https://ict-nroo.tistory.com/31

 

반응형

'IT' 카테고리의 다른 글

핫 스패어(Hot Spare)란 ??  (0) 2021.08.10
핫 스왑이란 ?  (0) 2021.08.10
RAID 란 ?  (0) 2021.08.10
깃허브란 ?  (0) 2021.08.09
WAS와 웹서버의 차이  (0) 2021.08.06

+ Recent posts