■ What is Jenkins?
젠킨스는 소프트웨어 프로젝트 빌딩하는 작업 또는 크론(cron)에 의해서 실행되는 작업 같은 반복되는 작업들의 실행을 모니터링하는 어플리케이션이다.
소프트웨어 프로젝트의 빌딩/테스팅은 지속적이어야 한다.
젠킨스는 사용하기 쉬운 CI(Continuous Integration) 시스템을 제공한다. 젠킨스는 개발자들이 프로젝트의 변화를 통합하는 작업을 더 쉽게 만들어준다. 젠킨스는 사용자들의 최신의 빌드를 얻는데 더 쉽게 만들어 준다. 자동화되고, 지속적인 빌드는 생산성을 증가시켜 준다.
외부에서 실행되는 작업이나, 크론(cron) 같은 작업들과 프락메일(procmail) 작업들, 심지어 원격 머신도 모니터링을 실행한다. 예를 들어, 크론의 작업 결과를 정기적인 이메일로 받고, 당신은 이메일을 부지런히 주시하고, 뭔가 잘못됐을 때 알림을 받게 된다.젠킨스는 이러한 결과들을 유지시켜주고, 뭔가 잘못됐을 때 알림을 받기 쉽게 해준다.
■ Features
1.쉬운 설치
java -jar jenkins.war 명령을 실행 또는,
서블릿 컨테이너에 jenkins.war 파일을 디플로이(deploy)
더 이상 추가적인 인스톨이나 데이터베이스는 없다.
2. 쉬운 설정
젠킨스는 즉각적인 에러 확이과 인라인 도움말 기능을 갖춘 친숙한 웹 GUI 설정 환경을 젠킨스의 모든 설정에서 사용할 수 있다. 젠킨스는 더이상의 XML 이 필요없긴 하지만, 당신이 원하면 그렇게 할 수도 있다.
3. 변경 집합(set) 지원
젠킨스는 서브버전(Subversion)이나, CVS로부터 체크아웃을 소스 코드를 받아 온다. Repository의 부하를 줄이기 위해 변경된 부분만 받아온다.
4. 영구 링크
Permanent links: Jenkins gives you clean readable URLs for most of its pages, including some permalinks like "latest build"/"latest successful build", so that they can be easily linked from elsewhere.
5. RSS/E-mail/IM 통합
빌드에 대한 결과를 실시간으로 RSS 또는 e-mail로 모니터링 할 수 있다.
6. After-the-fact tagging
Builds can be tagged long after builds are completed.
7. JUnit/TestNG 테스트 보고
젠킨스는 테스트 결과를 테이블 형태, 요약, 테스트가 언제 실패했는지와 같은 히스토리 정보도 보여준다. 히스토리 경향을 그래프로 보여준다.
8. 분산 빌드
젠킨스는 여러대의 컴퓨터에서 분산 빌드/테스트를 실행 할 수 있다.
Distributed builds: Jenkins can distribute build/test loads to multiple computers. This lets you get the most out of those idle workstations sitting beneath developers' desks.
9. File fingerprinting
Jenkins can keep track of which build produced which jars, and which build is using which version of jars, and so on. This works even for jars that are produced outside Jenkins, and is ideal for projects to track dependency.
Plugin Support: Jenkins can be extended via 3rd party plugins. You can write plugins to make Jenkins support tools/processes that your team uses.