목차



1. jenkins란?

2. jenkins 사용이유

3. jenkins 설치방법

4. jenkins 환경설정 및 실행






1. jenkins란?



젠킨스는 Open Source CI (Continuous Integration) Tool로써 여기서 CI 란 팀의 구성원들이 작업한 내용을 정기적으로 통합하는 것을 의미합니다. 말이 약간 어려운데 쉽게 이야기하면 하나의 프로젝트를 여러 명으로 구성된 한 팀이 작업할 때 프로젝트를 리드하는 매니저가 일을 여러가지로 나눠서 팀멤버들한테 분배하고 팀멤버들은 각각 할당된 부분만 작업을 하게 됩니다. 그리고 팀멤버들은 자신이 담당해서 하고 있는 부분의 소스코드를 정기적으로 SVN과 같은 Version Control System에 Submit 하는데 이 각각의 팀멤버들로부터 Submit된 소스코드들을 정기적으로 통합하는 것을 CI라고 하고 이것을 시행해주는 프로그램을 CI tool이라고 합니다.



<1-1. jenkins>



<1-2. jenkins 동작과정>




2. jenkins 사용이유



Jenkins 서버를 사용하는 이유는 현재 진행 중인 프로젝트가 정상적으로 빌드가 되고 있는지를 정기적으로 체크해서 결과를 팀원들한테 알려주고 문제가 발생했을 때 조기에 알려줄 수 있게 해줌으로써 여러 팀 멤버들이 큰 문제없이 각자의 맡은 부분만을 작업할 수 있도록 도와줍니다. 또한 프로젝트 빌드시 자동으로 유닛 테스트와 통합 테스트를 실행해줘서 잘 못된 점이 있으면 알려주고 또한 현재 얼마만큼의 소스코드를 유닛 테스트가 커버하고 있는지 및 어떤 부분에 문제가 있을 수 있는지 등의 정보도 이메일을 통해 알려주거나  SonarQube와 같은 도구를 연동하여 모니터링 할 수 있도록 도와줍니다. 

결과적으로 요약하자면,


1. 프로젝트의 빌드가 정삭적으로 되고 있는지 체크할 때

2. 자동으로 유닛 테스트(Unit Test)와 통합 테스트(Integration Test)의 정기적인 실행과 결과에 문제가 있을 경우에 이메일 또는 SonarQube와 같은 도구       를 통해 결과확인 가능

3. 코드의 질 향상  



<2-1. jenkins의 사용이유>



<2-2. sonarqube 이미지>




3. jenkins 설치방법



 ※젠킨스(Jenkins)를 설치하기 위해 필요한 준비물

   

     - JDK (Java)


     - Web Server(apache tomcat)


     - Build Tool(Maven, Ant)


     - Git, SVN



  3-1. 젠킨스(Jenkins) 다운로드 하기


       - Download link : https://jenkins.io/download/

         

         

<3-1. jenkins 다운로드 목록>


       

  3-2. 설치파일 실행


  

<3-2. 설치파일 실행>




  3-3. jenkins 접속 패스워드


       - 설치 시 자동으로 http://localhost:8080으로 접속



<3-3. http://localhost:8080>





  3-4. initialAdminPassword 경로


       - Administrator password 입력 (C:/Program Files (x86)/Jenkins/secrets/initialAdminPassword)



<3-4. initialAdminPassword파일>




  3-5. initialAdminPassword 오픈


       - 메모장 or 에디터로 파일 오픈 후 비밀번호 복사



<3-5. Administrator password>





  3-6. jenkins 접속


       - Administrator password입력 및 접속


<3-6. Password 입력 및 접속>






  3-7. jenkins URL설정


       - jenkins관리 홈페이지로 사용할 URL설정


<3-7. jenkins URL 설정>






  3-8. Install suggested plugins


       - jenkins 기본 플러그인 다운로드 및 과정


<3-8. jenkins plugin 설치>





<3-9. 플러그인 설치 중>






  3-9. jenkins 계정 생성


       - jenkins Admin User 생성


<3-10. admin User 생성>





  3-10. 최종화면


       - 설치 후 최종 모습


<3-11. 계정생성 후 jenkins 메인화면>







4. jenkins 환경설정 및 실행




  4-1. jenkins관리 -> Global Tool Configuration



<4-1. jenkins 관리>




<4-2. Global Tool Configuration 접속>






  4-2. Global Tool Configuration 설정(JDK)


       - 현재 컴퓨터에 설치되어 있는 JDK가 없다면 Install automatically를 체그하여 원하는 버전을 선택합니다.

     

       - 만약 이미 설치되어 있다면, Install automatically를 해지하고 설정하기 원하는 Name과 JDK의 경로를 입력합니다.



<4-3. JDK설정>





  4-3. Global Tool Configuration 설정(Maven)


       - 현재 컴퓨터에 설치되어 있는 Maven이 없다면 Install automatically를 체그하여 원하는 버전을 선택합니다.


       - 만약 이미 설치되어 있다면, Install automatically를 해지하고 설정하기 원하는 Name과 Maven의 경로를 입력합니다.




<4-4. Maven설정>







  4-4. Deploy to container 플러그인 설치


       - jenkins에서 빌드된 .war파일을 배포하기 위해서 필요한 플러그인 입니다.


       - jenkins관리 -> 플러그인 관리



<4-5. 플러그인 관리>





<4-6. Deploy to container Plugin 설치>






  4-5. jenkins project 생성


       - Freestyle project를 선택하고 project의 이름을 설정하여 생성합니다.



<4-7. jenkins project 생성>






  4-6jenkins project 환경설정


      <General 설정>

     

     - 설명란에 jenkins project의 이름을 설정합니다.



<4-8. jenkins project 설명란 설정>





      <소스 코드 관리 설정>


            - SVN을 사용한다면 Subversion버튼을 체크합니다.


            - Repository URL에는 설치된 SVN의 URL을 작성합니다.


            - Credentials는 해당 SVN에 접속하기 위한 ID와 PW를 미리 설정하여 jenkins가 접속할 수 있도록 합니다.


            - 나머지 설정들은 기본값으로 설정합니다.


<4-9. 소스 코드 관리>





            - Credentials 설정에는 해당 SVN의 ID를 Username에 등록하고, PW를 Password에 등록한 뒤 Credentials의 ID값을 ID에 등록한 뒤 Add버튼을                  클릭합니다.


<4-10. Credentials 설정>






      <빌드 유발 설정>


            - Poll SCM을 선택하여 시간단위로 자동 빌드 및 배포하도록 설정합니다.


            - Schedule에 대한 설명

   

    ※ 15분 간격으로 빌드 작업을 수행

         H/15 * * * *

    ※ 모든 시간의 첫 30분 동안에 10분 간격으로 빌드를 수행

  H(0-29)/10 * * * *

    ※ 주말을 제외한 주중에 9시부터 16시 사이에 2시간에 한번씩 빌드를 수행

  H 9-16/2 * * 1-5

    ※ 12월 달은 제외하고 매달 1일과 15일에 한번씩 빌드를 수행

  H H 1,15 1-11 * 

    ※ 매일 오전 8시에 빌드 수행

  00 08 * * *

    ※ jenkins에서 자동으로 가장 적당한 시간에 빌드

 H H * * *



<4-11. 빌드 유발 설정>






      <빌드 설정>


            - 빌드 설정으로 Invoke top-level Maven targets를 선택합니다.(Maven사용)


            - Global Tool에서 설정한 Maven버전을 선택하여 Maven Version에 적용합니다.


            - Goals는 clean install로 설정합니다.


            - POM에는 자동화 빌드시스템을 적용시킬 프로젝트의 pom.xml의 Path를 적용합니다.



<4-12. 빌드 설정>




            - 빌드 설정으로 Execute Windows batch command를 선택합니다.


            - command라인에 사진과 같이 작성합니다.


            - 톰캣은 앱을 내리더라도 메모리를 해지하지 않는 문제가 있어서 여러 번 앱을 배포하면 메모리 부족 오류가 발생하기 때문에 톰캣의 서버를

              shutdown한 뒤, 다시 startup해야합니다.



<4-13. command 설정>





      <빌드 후 조치 설정>


            - 빌드 후 조치를 설정하기 전에 Tomcat의 manager ID와 PW를 설정해야 합니다.


            - 가장 먼저, apache-tomcat이 설치된 폴더로 에서 conf -> tomcat-users.xml을 찾습니다.



<4-14. tomcat-users.xml Path>



            - tomcat-users파일을 열고 아래그림 <4-14. tomcat-users.xml>와 같이 작성합니다. username과 password는 사용자가 원하는 값으로 설정합니                  다.



<4-15. tomcat-users.xml>



   - tomcat-users.xml의 값을 변경하였다면, 다시 빌드 후 조치 부분으로 넘어와 Credentials에 기존에 설정한 manager ID와 PW를 적용합니다.


            - Tomcat URL부분에는 사용자의 Tomcat IP와 포트번호를 입력합니다.


            - WAR/EAR files에는 jenkins에서 빌드과정을 거친 .war파일 경로를 적용합니다.(보통 **/*.war 로 설정)


            - 모든 값을 입력했다면, 저장버튼을 클릭한 뒤 jenkins item을 사용할 수 있습니다.



<4-16. 빌드 후 조치>





      <jenkins build 성공화면>



<4-17. jenkins 빌드성공>



























+ Recent posts