최근 업무 효율성에 대한 고민을 하다가 Jenkins(소위 젠킨스)에 대한 관심이 깊어졌습니다. 그래서 php와 젠킨스를 연동하는 방법에 대해 알아보았습니다. 본 게시글에서는 먼저 CentOS 7 버전에서 젠킨스를 설치 및 연동하는 법에 대해서 살펴보겠습니다. php연동에 대한 부분은 추후 게시하도록 하겠습니다. 그리고 본 게시글은 젠킨스에 대한 소개글은 아니므로 젠킨스에 대한 설명은 생략하겠습니다.

젠킨스 매뉴얼을 참고하면, 권장 사양으로 다음을 요구하고 있습니다.

(1) Java 8
(2) 1GB 이상 free memory
(3) 50GB 이상 free disk space

요즘 시대에 보통 메모리나 디스크는 문제가 될 일은 없습니다. 하지만 자바는 설치해야 합니다. 젠킨스 최소 사양을 생각하면 자바 1.7을 설치해도 무방하나, 저는 권장사항에 맞춰 설치해보았습니다.

yum install java-1.8.0-openjdk

다음으로는 젠킨스를 설치해야 하는데, 아쉽게도 yum의 기본 레포지토리에는 젠킨스가 포함되어 있지 않습니다. 그래서 따로 wget 명령어를 통해 젠킨스를 yum 레포지토리에 추가합니다. 권한 문제가 있을 수 있으므로, sudo를 붙입니다. wget은 www(월드 와이드 맵)과 get의 합성어로 웹서버로부터 콘텐츠를 가져오는 명령어입니다. 아래 명령어를 보면 http://pkg~로 시작하는 링크로부터 다운받겠다는 의미입니다. -O 옵션은 다운받을 내용을 문서 파일화 시키겠다는 의미입니다.

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo

그리고 yum 을 이용해 젠킨스를 설치하기 전에 RPM패키지용 공개키를 import해야 합니다. 여기서 yum과 rpm의 관계에 대한 설명은 생략하겠습니다. 다만 yum을 통해 무언가 다운받으려고 할 땐 (여기선 이제 jenkins를 다운받을 예정이죠) 해당 패키지의 서명을 확인하는 절차를 거쳐야 합니다. 서명을 확인하면서 패키지에 문제는 없는지 확인을 하는 것이죠.

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

이제 비로소 yum으로도 젠킨스의 다운로드가 가능해졌으므로 젠킨스를 다운로드 하도록 합니다.

sudo yum install jenkins

그 다음은 젠킨스용 port 번호를 변경합니다. 이 부분은 선택사항이라 꼭 바꿔야 할 필요는 없지만, 개발 환경에 따라 젠킨스의 default 포트 번호가 이미 사용 중인 경우가 있습니다. 그럼 적절히 포트 번호를 변경해줘야 할 것입니다.

vi /etc/sysconfig/jenkins

명령어를 통해 젠킨스 설정파일을 연 뒤, JENKINS_PORT 부분을 임의의 포트 번호로 바꿔줍니다. 물론 바꾸려는 포트번호가 현재 사용중인지 아닌지는 netstat 등의 명령어를 사용해서 별도로 확인해줄 필요가 있습니다.그다음 아래의 명령어로 젠킨스를 실행합니다.

sudo service jenkins start

이제 젠킨스의 실행을 브라우저에서 확인해볼 것입니다. 브라우저를 열어서 주소입력창에 다음과 같이 써주시길 바랍니다.

http://{젠킨스가 실행된 호스트의 IP주소}:{젠킨스의 포트주소}/

예로 들어 저는 http://localhost:8090/ 으로 접속을 했습니다. localhost는 127.0.0.1을 가리키는 것은 이미 모두 아실 거라고 생각합니다. 젠킨스의 초기설정화면에 엑세스가 가능하다면 설치가 완료된 것입니다. 하지만 젠킨스의 설정 지옥은 이제부터 시작일 따름입니다.

본 게시글은 2017.04.16 마지막 수정되었습니다