'Jenkins 젠킨스/개요 및 시작'에 해당되는 글 2건

  1. 2018.04.16 [Jenkins] CI 서버 설치 (4.15일 자 버전)
  2. 2018.01.15 [Jenkins] 개요 및 시작

안녕하세요 Jenkins 를 재설치 하게 되서 다른 방법으로 소개 하려고합니다.


// 젠킨스 공식 홈페이지

https://jenkins.io/



1. 메인 홈페이지 이동 후 Download 클릭 



2.  하단으로 스크롤



최신 버전 선택 


3. 다운로드 

(보이는 메뉴얼 대로 wget 으로 받아도 되고 저는 jenkins-2.117-1.1noarch.rpm 을 받아서 FTP로 옮겼습니다.)




4. root 계정으로 접속

명령어 입력

 rpm -Uvh jenkins-2.117-1.1.noarch.rpm







5. Jenkins Port 설정(루트 계정)

Default 8080 을 쓰지만 예약 포트라 겹칠 일이 있어 변경해줍니다.



vi /etc/sysconfig/jenkins



6. /etc/init.d/jenkins start or /etc/init.d/jenkins restart


Starting jenkins (via systemctl):  Job for jenkins.service failed because the control process exited w                                                                ith error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.


에러가 났습니다.


 jenkins.service - LSB: Jenkins Automation Server

   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)

   Active: failed (Result: exit-code) since 월 2018-04-16 19:19:38 KST; 2min 32s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 24668 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)


 4월 16 19:19:38 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...

 4월 16 19:19:38 localhost.localdomain runuser[24673]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: Starting Jenkins bash: /usr/bin/java: 그런 파일이나 디렉터리가 없습니다

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: [실패]

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1

 4월 16 19:19:38 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.

 4월 16 19:19:38 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service failed.


에러메시지 대로 systemctl status jenkins.service는 확인해봅니다.


확인해보니 

 jenkins.service - LSB: Jenkins Automation Server

   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)

   Active: failed (Result: exit-code) since 월 2018-04-16 19:19:38 KST; 2min 32s ago

     Docs: man:systemd-sysv-generator(8)

  Process: 24668 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)


 4월 16 19:19:38 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...

 4월 16 19:19:38 localhost.localdomain runuser[24673]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: Starting Jenkins bash: /usr/bin/java: 그런 파일이나 디렉터리가 없습니다

 4월 16 19:19:38 localhost.localdomain jenkins[24668]: [실패]

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1

 4월 16 19:19:38 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.

 4월 16 19:19:38 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.

 4월 16 19:19:38 localhost.localdomain systemd[1]: jenkins.service failed.



이부분이 눈에 들어옵니다. jenkins 스크립트가 제대로 실행이 되지 않는 것 같아서


jenkins 스크립트를 까봅니다. 




자바 홈이 잡혀 있지 않았습니다.

/usr/bin/java -> 나의 자바 홈으로 변경(/usr/java/jdk1.8.0_152/bin/java

// 자바 바이너리를 타겟으로 하셔야 합니다. 



** 성공 

7. 웹으로 접속 ip:8888

 Unlock Jenkins


같은 동일 PC에서 하신다면 localhost:8888 


// 위에 8888로 설정하였기 때문에 혹시 안된다면 8080으로 해보셔도 되고 재시작을 해보시고 8888로 하시면 됩니다. 위에서 설정만 하고 말았다면 적용이 안되어있을수 있음 

** 접속이 안되는 경우 방화벽 문제일 확률이 높으니 테스트용으로

systemctl stop firewalld  실행 후 접속 시 정상접속 확인 됩니다.

접속 후 해당 부분에 입력 하는 키는

cat /var/lib/jenkins/secrets/initialAdminPassword 에 있는 키를 입력 하면 됩니다.



** JENKINS_HOME ="var/lib/jenkins" // 5단계까지는 접속 해도 아무것도 없습니다.



8. Customize Jenkins

Install suggested plugins 설치 (기본 설치 이므로 원하지 않는다면 선택하지 않아도 됩니다.



[설치 중 화면]


9. Admin 계정 생성(Root)

// 해당 계정으로만 jenkins의 플러그인 설치 및 쉘 스크립트 작성이 가능하기 때문에 유의 바람





접속 화면



'Jenkins 젠킨스 > 개요 및 시작' 카테고리의 다른 글

[Jenkins] 개요 및 시작  (0) 2018.01.15
Posted by 깍돌이

젠킨스 젠킨스 IT 하는 사람들이라면 한번쯤 어디서든 들어봤을 법한 단어다


Jenkins(젠킨스),hudson(허드슨),git(깃),svn(에스브이엔) , 형상관리  


코드를 짜는 부분만이 개발자의 다라고 할수 없다.  물론 QA도 마찬가지다


테스트케이스를 만들고 결과 를 도출해내고 매번 같은 케이스를 수작업으로 확인하고 


Unit_Test를 작성한다고 하여도 매번 직접 확인하거나 매번 직접 실행하여야 하는 부분들이있다.


이런 경우에 테스트 중인 프로그램의 규모가 커지거나 하였을때는 어떻게 하겠는가 


그냥 꼴딱 밤을 샐것인가 ? 


너무 비효율적이다. IT하는사람이라면 컴퓨터를 노예 부리듯이 부릴 줄 아는것도 좋아보인다.


QA도 고도화된 개발자 만큼은 아니여도 어느정도 개발자 수준의 코드 퍼포먼스 정도는 낼줄알아야 한다. 젠킨스 든 git이든 개발자의 툴이다 아니다


QA도 사용하여야 할 툴이고 테스트가 진행될수록 프로그램이 커질수록 TestCase는 끝없이 방대해지며 이것들을 검증하는 스펙트럼은 QA의 역량에 따라 다르다 


높은 QA일수록 더 많은 스케일에 대한 테스트가 가능하다 이것들을 위해서 수동이 아닌 자동으로 되는 부분들에 대한 케이스를 CI를 통해서 통합하고 사용할수 있도록 하여야 한다.


자동화 테스트를 위한 젠킨스 사용은 필수이다

(다른 여러 방법이 있겠지만)


이것을 도와주기 위해서 오늘은 CI 툴인 Jenkins( 젠킨스) 에 대해서 조사한 내용과 설치 정도까지 할려고 한다. 



젠킨스 ?



흔히 검색하면 나오는 말이다. 지속적 통합 , CI 서버 CI ? (Continuous Integration) 라고 한다. 


대부분 개발자들은 개발된 코드를 지속적으로 통합하여 충돌 내용을 방지하기 위해서 사용한다고 한다.


최초에는 허드슨 프로젝트로 시작되었다. 


이로인해 어드민 페이지등은 허드슨과 매우 유사한 점이 많으며 허드슨 플러그인을 참고하여도 될정도이다.


공식 웹 사이트 : https://jenkins.io/ 


프로그래밍 언어 : Java 


최신 버전 : 금일자 기준으로 2017 년 8월 17일 자 버전인 (2.60.3)


 OS : Cross PlatForm


라이선스 : MIT 


종류 : 웹 어플리케이션


플러그인 :  400개 이상의 플러그인


(라이센스 관련 내용은 딸도 정리해서 올려놓았습니다.)



이외의 대표적인 젠킨스의 기능들


1. 저장소 통합 

2. 소스코드 체크아웃 이벤트 

3. 빌드 및 테스트 자동화

4. 테스트 보고서 생성

5. 실행결과 통보(이메일)

6. 산출물 저장

7. 배포





Install 


필자는 CentOS 계열을 사용하기 때문에 해당 젠킨스 설치도 CentOS 기준으로 6.0 7.0 으로 적도록 하겠습니다.


1. 설치 하기전 필수 사항 

JDK : 1.7 이상 ( 자바 프로그램이기 때문에 JDK 는 필수조건이다.)


2. 설치 (설치 방법은 홈페이지에서 파일을 받아도 되지만 CentOS에서는 명령어로 설치)

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

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


2-2 yum install jenkins


(설치가 끝납니다. ) 매우 간단

3. 기본 세팅 

3-1 이미 띄워놓은 여러 프로젝트들이 포트를 쓰고있어서 포트를 변경합니다.

기본 Default: 는 8080으로 되어있는데 해당 포트는 예약 포트이기 겹칠 확률이 있습니다.

3-2 vi /etc/sysconfig/jenkins

JENKINS_PORT  를 검색하면 찾을수있습니다. 

JENKINS_PORT="8888"  로 변경


etc

JENKINS_HOME = "var/lib/jenkins" 해당 사항은 알아 두어야 합니다. 

젠킨스에서 작업되는 워크스페이스 등에 대한 홈 위치 이기때문에 자주 접속하게 됩니다.


/etc/init.d/jenkins start  or /etc/init.d/jenkins restart 젠킨스 시작 및 재시작

// (루트 권한으로 시작 하여야합니다. sudo -s 혹은 su 


 4. 젠킨스 접속 

jenkins start 혹은 restart로 시작하였다면 웹 어플리케이션 답게 웹으로 접속하여야 합니다.

같은 동일 PC에서 하신다면 localhost:8888 

// 위에 8888로 설정하였기 때문에 혹시 안된다면 8080으로 해보셔도 되고 재시작을 해보시고 8888로 하시면 됩니다. 위에서 설정만 하고 말았다면 적용이 안되어있을수 있음 


5. Unlock Jenkins 

위의 4번에서 제킨스를 접속하게 되면

 Unlock Jenkins 라고 나오게 된다. 해당 부분에서

car /var/lib/jenkins/secrets/initialAdminPassword 하게되면 나오는 키를 입력해주면 된다.


6. Customize Jenkins

 Install suggested plugins 설치 ( 기본 설치 이므로 원하지 않는다면 선택 하지 않아도 된다.)

7 어드민 계정 생성

id: test

pw: test_QA

// 해당 admin 계정으로만 jenkins의 플러그인  + 쉘 스크립트 작성 등에 대한 설정이 가능하니 유의해서 만들기 바람 

Posted by 깍돌이
이전버튼 1 이전버튼

블로그 이미지
QA를 업으로 삼고 있습니다.
깍돌이

태그목록

Yesterday
Today
Total

달력

 « |  » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함