본문 바로가기
Dev/DevOps

jenkins

by 갓연쥬 2017. 7. 12.

Jenkins(젠킨스)란?


open source CI(Continuous Integration) tool


CI(지속적 통합)이란 팀의 구성원들이 작업한 내용을 정기적으로 통합하는 것.


Jenkins를 사용하는 이유

프로젝트의 빌드가 정상적으로 되고 있는 지 체크.

자동 유닛 테스트와 통합 테스트의 정기적인 실행과 결과에 문제가 있을 경우 이메일을 통해 결과확인.

코드의 질을 조절

git에 소스 commit을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정 가능. (이때 빌드는 commit 횟수만큼 실행하는 것이 아니라 queueing되어 자신의 실행순서를 기다림)


자동화된 빌드가 가져다주는 이점

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

-자동화 테스트 수행

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

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

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

-각종 배치 작업의 간략화

-DB셋업, 환경설정, 디플로이 작업과 같은 단순작업에 쓰이는 시간을 줄이도록 함

-데이터베이스 구축, 서버에의 디플로이, 라이브러리 릴리즈와 같이 커맨드라인에서 진행되던 작업들을 웹 인터페이스를 통해 가능하도록 함


Jenkins가 제공하는 기능

-웹 인터페이스를 통한 간편설정

-강력하고 편리한 reporting 기능

-지속적인 자동화 빌드

-지속적인 자동화 테스트

-커버리지 감시

-코드 품질 감시

-다양한 인증기반과 결합한 인증 및 권한 관리 기능

-Groovy script를 이용한 고수준의 job scheduling 기능

-커맨드라인 인터페이스(CLI) 제공

-자동화된 배포 관리

-분산빌드 기능

-윈도우 커맨드 스케쥴링 실행기능


jenkins 플러그인의 확장성은 jenkins가 다양한 시스템과 연동될 수 있게끔 해준다.

개발팀이 실용적인 애자일 프로세스를 수행할 수 있도록 돕는다.


개발자가 소스를 커밋하면 나머지는 자동으로 실행되는 느낌..

그러기 위해서는 처음에 전체 작업 절차를 설정해야함(내가 할일이 이거인듯,,)

'Dev > DevOps' 카테고리의 다른 글

DevOps와 CI  (0) 2017.07.18
ansible  (0) 2017.07.18
jenkins 이용해 gradle프로젝트 패키징하기  (0) 2017.07.13
jenkins 사용법  (0) 2017.07.13
Docker  (0) 2017.07.12

댓글