brunch

You can make anything
by writing

C.S.Lewis

by 임성현 Apr 07. 2016

Jenkins 2.0 Overview

1. 개요와 설치

애자일 방법론 중 하나인 XP(eXtreme Programming)의 실천 방법(practice) 중 CI(Continuous Integration)이 있습니다. 번역하자면 지속적인 통합을 뜻합니다.

경험했던 여러 실천사항들 중에서 가장 극적인 도움이 되면서도 고민과 질문이 많은(어떻게 하면 잘 쓸 수 있을지) 분야입니다.

어떻게 하면 잘 쓸 수 있을지에 대해서는 차차 풀어가도록 하고, 얼마 전 Jenkins가 2.0을 공개했는데, 지난 버전보다 어떤 것이 더 나아졌는지 살펴보고자 합니다.

jenkins는 다른 오픈소스와 비해서 꾸준하고 활발하게, 거의 매주 신규 버전을 릴리스하는 툴입니다. 그중 이번 메이저 릴리스에는 세 가지의 핵심 특징을 가지고 있습니다.


1.  배포 파이프라인(delivery pipeline) 내장

그동안 Jenkins를 CI용도로만 사용하고, CD(Continuous Delivery: 지속 배포)는 수작업 또는 다른 도구나 플러그인을 사용했었습니다. Jenkins가 모두 차지하겠다고 선언했네요. DSL로 설정 가능하다고 하는데, 한번 지켜봐야 할 것 같습니다. 


2. 사용성 강화

Jenkins의 강점인 '예쁜 화면'을 좀 더 예쁘게 다듬었습니다. 특히 초기 설치 부분에서 재미있는 기능을 포함했습니다. 한번 설치해보았습니다. 다음 화면들을 보면서 이야기드릴게요.


1) Jenkins 다운로드

메인 페이지 아래쪽에 있는 2.0의 Learn more를 클릭 -> jenkins.war 파일을 다운로드합니다.


2) 실행

기존 버전과 마찬가지로 Jenkins는 웹 애플리케이션 서버를 내장하고 있습니다. 간단하게, java - jar jenkinw.war라고 입력하면 압축이 풀리면서 자동 설치/실행이 됩니다.


3) Jenkins잠금해제

설치 후 Jenkins기본 화면이 나오는 그 과정에 변화가 많습니다. 첫 번째 Jenkins설치 도중 PC에 생성된 키를 입력하라고 나옵니다. 원격에서 어드민 권한 없이 설치, 실행하는 보안 이슈를 해결하는 좋은 방법일 것 같습니다. 알려주는 path안에 있는 파일 또는 설치 console에서 확인할 수 있습니다.


4) Jenkins커스터마이징

아직 몇 개의 단계가 더 남아있습니다. Jenkins에서 추천하는 플러그인 또는 각자 자신에게 맞는 플러그인을 선택, 설치할 수 있습니다. 매번 Jenkins 설치하고 나서 플러그인을 설치하는 과정을 멋지게 통합해놓았습니다.

어떤 플러그인까지 설치되었는지 눈으로 확인할 수 있습니다. Git plugin도 보이는군요.


5) 사용자 계정 생성

Jenkins 설치하고 잊기 쉬운 계정 생성을 설치 단계에 넣었습니다. 계정/권한 부분에서의 취약점을 이렇게 해결할 수도 있군요. 기존 UI는 정말 실수하기도 쉽고 놓치기도 쉬웠습니다.

6) 준비 완료

Jenkins를 설치할 때 꼭 필요했던 플러그인 관련, 계정 관련된 내용을 먼저 구성하고 이제 준비가 완료되었습니다. Start using Jenkins를 클릭하면 익숙한 화면이 나타납니다. 메인 화면 상단의 bar는 검은색을 사용하기로 확정한 듯합니다.


7) 새 작업 만들기

새 작업을 만들 때 전체 화면으로 바뀌어 설정하도록 '예쁘게' 바뀌었습니다. 첫 사용자의 경험을 최대한 눈이 즐겁게 꾸며놓았네요. 설정 화면도 텝 형태로 변경되었습니다. Git이 들어온 점이 반갑네요.(물론, 플러그인을 설정했으니 당연한 것이겠지만요)


8) 빌드 실행하기

빌드를 실행해보았습니다. 실행 결과는.. 성공입니다. 하지만, 왜 녹색이 아닌지 항상 궁금하게 하는 파란색 신호등이 뜹니다. 녹색 플러그인부터 설치해야겠습니다.


3. 하위 호환성 준수

800개가 넘는 다양한 플러그인을 그대로 사용할 수 있다고 합니다. 기능도 변한 것이 없으니, 굳이 2.0으로 업그레이드할 필요가 없다고 나와있네요. 


결론

Jenkins 2.0은 기존의 활용 방안과 사용자 경험은 최대한 유지하면서 매번 설치할 때 실수하거나 번거롭게 작업하던 내용을 좀 더 간편하고 즐겁게 할 수 있도록 다듬어졌습니다. 다음엔 클라우드 환경, docker 등 배포가 더 중요한 환경에서도 잘 쓸 수 있을지 좀 더 살펴봐야 할 것 같네요. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari