4/23/2017

Jenkins Ubuntu에서 설치

1. Jenkins 설치 

  • Ubuntu에서 Jenkins 설치방법 
  1. Docker 사용
  2. Jenkins의 WAR(Web application ARchive) 을 Download해서 직접실행 (JDK Version 체크)
  3. Ubuntu에서 Package로 설치방법(아래설치)

가장쉬운방법은 Docker를 이용하는 것이지만, 기존 Ubuntu의 Package 관리 Tool을 이용하여 설치해보자.


1.1 Jenkins 기본준비사항

Jenkins를 설치하기 위해서 OpenJDK가 필요하며,  만약 Android를 빌드를 한다면, 매우 민감한 사항이므로,
설치를 해준후 Version에 따라 구동을 다르게 하자.

  • OpenJDK 8/9 설치 
$ ls /var/lib/dpkg/alternatives/ | grep java  // OpenJDK 설치되었는지 확인-1  
java
javac
javadoc
javah
javap
javaws

$ update-java-alternatives -l   // OpenJDK 설치되었는지 확인-2  

$ sudo apt-get install openjdk-8-jdk   // 설치되지 않았을 경우, 각 version을 설치 

$ sudo update-alternatives --config java  // Jenkins에 맞게 Open JDK의 Version 각 버전을 선택 


Jenkins의 설치전 요구사항 확인 (JDK)
  https://jenkins.io/doc/administration/requirements/java/

Open JDK 설치 참조
  https://openjdk.java.net/install/

Open JDK 관련에러사항
  http://goddaehee.tistory.com/25


1.2 Jenkins WAR 설치 및 실행

  • Ubuntu에서 WAR 직접 Download 후 실행 (JDK 설치후)
Jenkins WAR Download
  https://www.jenkins.io/download/

$ java -jar jenkins.war          // WAR download 후 바로 실행 후 8080 Port로 접속  
or
$ java -jar jenkins.war --httpPort=8090 

WAR로 바로 실행 후 browser 로 확인 및 ~/.jenkins/  확인 


1.3 Jenkins Package 설치 및 실행

Ubuntu에서 Jenkins를 Package로 설치를 해도, war 기반으로 동작하지만, 환경설정을 아래와 같이 해줘야한다. 
 
  • Ubuntu에서 Package 설치방법
Ubuntu에서 기본 Package List에 없기 때문에 이를 추가하고 업데이트 한 후 이를 설치해주자.

$ wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -            // 인증 추가 
$ sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'   // repository 주소 추가 
$ sudo apt-get update              // 추가된 Repository 주소 적용  
$ sudo apt-get install jenkins


Jenkins 설치방법
  https://jenkins.io/doc/pipeline/tour/getting-started/
  https://jenkins.io/doc/book/installing/
  https://pkg.jenkins.io/debian/

Jenkins Version 확인
  http://pkg.jenkins.io/debian-stable/


  • Jenkins Package 설치 후 설정 

$ vi /etc/default/jenkins  // 설정파일 확인 , 변경하지 않을 경우 그대로 사용 
...
JENKINS_WAR=/usr/share/$NAME/$NAME.war  # Jenkins WAR 파일 (실행파일) 위치 확인 

JENKINS_HOME=/var/lib/$NAME   # 설정 위치 확인 

JENKINS_LOG=/var/log/$NAME/$NAME.log # Jenkins Log 위치 확인 

HTTP_PORT=8080   #사용 Port 확인 변경시  


$ java -version 2>&1 | sed -n ';s/.* version "\(.*\)\.\(.*\)\..*"/\1\2/p;' # Java Version 확인 
18
$ vi /etc/init.d/jenkins
JAVA_ALLOWED_VERSION="18"   ## Java Version 확인 

$ /etc/init.d/jenkins start
or 
$ sudo service jenkins 

자동으로 서비스에 등록하여, 자동실행 


2. Jenkins 실행 후 기본 PlugIn 설치


Jenkins를 설치 후 실행한 후 아래와 같이 해당값을 읽어 Unlock 후 각 PlugIn 설치 

$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
0b3a8f996c1540a389abeae48668f42d



일단 제안된 PlugIn 설치



  • PlugIn 설치진행 후 기본 확인
  1. 계정과 암호/ 이름/ 이메일을 설정
  2. 계정으로 로그인 
  3. 메뉴->Jenkins 관리 -> 플러그인 관리 -> 설치된 플러그인 목록 확인 
  4. 메뉴->Jenkins 관리 -> 플러그인 관리 -> 설치가능 (추가설치)

** 거의 설치가능메뉴에서 메뉴가 나오지 않는다면, 방화벽문제 혹은 Network 문제 
** 각 Port 의 Accept 확인 
$ sudo iptables -L -n  //현재 설정확인   

  • Project Item 생성 및 기본설정 (Build Item)
  1. 메뉴->New Item -> Enter Item Name  :  TEST_S  (원하는대로 이름 설정) 
  2. Free Style Project or 다른 기능 선택 후 OK 설정 
  3. Free Style로 했을 경우, 세부 Remote Repository 설정 한 후 각 Git Site 와 연결 
  4. Build Script 작성 
  5. Build 후 기능 추가 

각 Git site (Github /Bitbucket/ Gitlab) 관련설정을 추후에 직접 설정해보고, 각 기능을 사용해보자. 


  • Item 추가 후 Build 사항 점검
  1. 작업공간 확인 
  2. 상위 추가된 Item으로 Build 진행
  3. Console Output 빌드사항 확인 (문제 발생시 반드시 확인)
  4. Build History 부분 확인

  • Build 된 사항 의 Item의 workspace 위치확인
  1. ~/.jenkins/workspace/TEST_S/

Package로 설치를 하면 각 환경설정 및 Service로 쉽게 할 수 있어서 좋다. 
WAR로 직접 실행하면, 모든 환경설정 및 PlugIn / Workspace가 ~/.jenkins/ 안에 존재 


Jenkins 설치 (nginx 기반)
  https://wiki.jenkins.io/display/JENKINS/Installing+Jenkins+on+Ubuntu
  https://www.slideshare.net/agebreak/140315-ci?next_slideshow=1
  https://www.lesstif.com/pages/viewpage.action?pageId=15269892

Jenkins와 Github
  https://www.slideshare.net/agebreak/ci-32339131?next_slideshow=2

Jenkins와 Gitlab
  https://www.slideshare.net/parkjoongsoo1/jenkinsgitmaven-56007274