2019년 3월 19일 화요일

Jenkins(젠킨스) 설치

Jenkins(젠킨스)는 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴이다.
CI(Continuous Integration) 툴 이라고 표현한다.

이게 무엇인고 하고 구글링을 해보니,
다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유영역에 있는 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해주는 것이라 한다.

이건 또 무슨말인가.... 하고 구글링을 더 해보니,
옛날옛날에는 개발자들이 당일 작성한 소스들의 커밋이 모두 끝난 심야 시간대에,
build(빌드)를 실행하는 방식이 일반적이었다.

Jenkins(젠킨스)와 같은 CI(Continuous Integration) 툴이 등장하면서,
GIT, SVN 같은 버전관리 툴과 연동하여 소스의 커밋을 감지하면,
자동적으로 빌드가 작동되도록 하는 방식이다.

원래 허드슨 프로젝트로 개발되었고, 지금은 Jenkins(젠킨스) 이름으로 변경되었다고 한다.
이러쿵 저러쿵 내용이 많아서 여기까지 하고, 직접 사용해 보자.

Jenkins(젠킨스) 설치 전에 먼저 Java, Tomcat 이 설치되어 있어야 한다.

Java 설치는 여기를 참고하자.
Jenkins(젠킨스)를 다운로드 하자.
https://jenkins.io/download


지원하는 플랫폼이 많다.
Azure
Docker
FreeBSD
Mac
OpenBSD
openSUSE
Red Hat/Fedora/CentOS
Ubuntu/Debian
Windows
Generic Java package (.war)

플랫폼은 패키지 형태로 설치하는거고,
deb rpm msi pkg(mac) 형태로 제공하는거고,
docker 는 docker pull 명령어를 사용하는거고,
war 은 그냥 실행하는거다.

war 을 사용해서 실행하는 방식을 사용해 보자.
war 을 다운로드 한다.
다운받은 war 을 실행해 보자.

8090 포트번호로 서비스를 시작해 보자.
포트번호는 마음대로 할 수 있다.
% java -jar jenkins.war --httpPort=8090


뭐짓?
허가 거부..... 권한이 없다는 뜻인가 보다.
root 권한으로 실행해 보자.
% sudo java -jar jenkins.war --httpPort=8090

뭔가 메세지가 주루룩 뜨면서 마지막에 잘 되었다고 나온다.
Jenkins is fully up and running

(나중에 알게 된 사실인데, 특정 port 번호 이하는 root 권한이 있어야 한다.)
(8090 말고 10000 으로 하면 일반 계정으로도 실행할 수 있다.)

접속해 보자.
http://127.0.0.1:8090
아래처럼 나온다면 접속이 된것이다.


계속 진행하기 위해서는 password 를 입력해야 한다.
password 는 /root/.jenkins/secrets/initialAdminPassword 이곳에 있다.

파일에 들어있는 password 를 입력하자.
% cat /root/.jenkins/secrets/initialAdminPassword


plugin 을 수동으로 내가 선택해서 설치할 것인지,
많이들 사용하는 추천 plugin 을 자동으로 설치할 것인지 물어보고 있다.

suggested plugins 가 있으면 편리할거 같으니, 이걸 선택하도록 하자.


커피 한잔 하면서 기다리자.


관리자 계정을 생성하자.


안내문구를 잘 살펴보자.
만약 현재 URL 이 아닌 다른 URL 으로 변경하게 되면,
BUILD_URL 을 설정해야 한다는게 주요 내용이다.


start 하자


메인 페이지가 잘 뜬다.


마지막으로,
터미널에서 java 를 fore-ground 로 실행한 것을 back-ground 로 변경하자.
ctrl + z 를 누르면 java 가 suspend 된다.

back-ground 로 변경하자.
% bg


처음부터 & 를 사용해도 된다.
% sudo java -jar jenkins.war --httpPort=8090 &





출처
https://jenkins.io
http://www.moreagile.net/2014/01/jenkins-cicontinuous-integration-2.html

댓글 없음:

댓글 쓰기

화곡 어쩌라고, 굴사냥

석화찜(굴찜)을 먹으러 여의도로 갔다 그런데 재료가 모두 소진되었다고 마감이라고 한다 응? 다들 굴에 미쳤나? 굴을 찾아 헤매다 보니, 화곡까지 가게 되었다. 화곡은 처음 가본다. 첫인상은 "술집 겁네 많네" 피똥쌀때까지 마실 수 있...