표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1
Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동 (START/STOP)... 6 2.2 NEXUS 저장소설정... 7 2.3 NEXUS 저장소에라이브러리추가... 7 2.4 NEXUS 실행및추가된라이브러리확인.... 8 2.5 NEXUS 저장소를프로젝트에반영... 8 2.6 NEXUS 저장소에 3 RD PARTY 라이브러리추가... 9 3. CI (JENKINS) 설정... 11 3.1 SUBVERSION 설치 ( 선택사항 )... 11 3.2 SVN REPOSITORIES 설정및사용자등록... 12 3.2.1 저장소설정및등록... 12 3.2.2 사용자등록... 13 3.2.3 SVN 서버시작 / 종료... 14 3.2.4 Eclipse 프로젝트를 SVN 서버에등록... 14 3.3 JENKINS 설정... 16 3.3.1 Jenkins 기본시스템설정... 17 3.3.2 새작업생성... 18 3.3.3 작업 Bulid... 22 Page 2
1. 표준프레임워크 egovci 팩키지설치 1.1 개요 본가이드는전자정부표준프레임워크센터에서제공하는 egovci 구성및설치가이드이며, 아래와같은구성으로이루어져있다. n egovci 팩키지 (32bit, 64bit 별도제공 ) n Nexus repository 구성정보. n CI 관련구성정보 (SVN 포함 ). 1.2 egovci 압축풀기 전자정부표준프레임워크에서제공하는 egovci ( egovci-x.x.x_xxbit.exe ) 파일을 C:\ 에압축을푼다. 압축을푼구조는아래와같다. 1.3 egovci 시스템구성 egovci 팩키지는별도의모듈이필요하지않도록, 아래와같은구성으로제공하고있다. 주요모듈로는 JAVA JDK, Tomcat configurations, Maven 등으로구성되어있다. n n n n n Ant-1.9.5 (under /bin dictory) Maven-3.3.3 (under /bin dictory) Tomcat-8.0.47 (under /bin dictory) JDK.1.8 (under /bin dictory) VisualSVN-Server-3.8.4.msi(Instatallation file - 32.bit/64bit 별도제공 ) (under /bin dictory) Page 3
1.4 CI 시스템구동 (Start/Stop) CI 시스템구성이후, start-jenkins.bat, stop-jenkins.bat 파일로 Jenkins 서버구동및 Jenkins 서버를멈출수있다. 구동이후, 콘솔창에서아래와같은내용을참조할수있으며, 해당포트넘버를확인할수있다. ** 서버성능에따라구동시간이다소소요될수있다. Page 4
구동후, 아래와같은주소롤 CI 웹페이지를확인할수있다. (http://localhost:8080/jenkins/) ** CI 서버기본포트는 8080 으로설정되어있으며, 아래와같이별도포트로변경하여사용가능하다. (<egovci_home>\bin\apache-tomcat-jenkins\conf\server.xml) Page 5
2. Nexus 설정정보 2.1 Nexus 서버구동 (Start/Stop) CI 시스템구성이후, start-nexus.bat, stop-nexus.bat 파일로 Nexus 서버구동및 Nexus 서버를멈출수있다. 구동이후, 콘솔창에서아래와같은내용을참조할수있으며, 해당포트넘버를확인할수있다. Page 6
2.2 Nexus 저장소설정 Nexus 의저장소는기본으로 <egovci_home>\home\nexus 로설정되어있으며, 아래와같이별도설정이가능하다. 2.3 Nexus 저장소에라이브러리추가. Nexus 저장소에라이브러리추가위치 <egovci_home>\home\nexus\storage - Storage 는 Nexus 에등록된 central repository 들을포함하고있으며, 각 repository 는등록된 URL 기반으로웹상의해당 repository 에접속하여라이브러리를내려받아관리함 또한, Nexus storage 에필요한라이브러리를아래와같이한번에추가가능하다. n Target 저장소 : <egovci_home>/home/nexus/storage/releases n 직접또는 FTP 환경을설정하여 Target 저장소에위치시킨다. Page 7
2.4 Nexus 실행및추가된라이브러리확인. "start-nexus.bat 실행하여, Nexus 를실행가능하며, 브라우저에서아래주소로 Nexus 을확인가능하다. http://127.0.0.1:9090/nexus Nexus 를접속후 repositories 선택하고 public repositories 또는 release 저장소에서추가한라이브러리목록을확인할수있다. 2.5 Nexus 저장소를프로젝트에반영. 프로젝트의 pom.xml file 을열고아래와같이 <repositories> 변경하여반영할수있다. Page 8
2.6 Nexus 저장소에 3 rd Party 라이브러리추가. Nexus 저장소에별도로 3rd Party 라이브러리를별개로등록가능하다. 1. 관리자로로그인 : admin / admin123 2. 저장소목록에서 3 rd party 저장소를선택한다. 선택한다. 3. 이후, Artifact Upload -> GA Definition -> GAV Parameters 를차례대로 4. 추가할라이브러리 Group, Artifact, Version 정보를입력한다. 5. 정보입력후 "Select Artifact(s) to Upload 통해라이브러리를추가한다. 6. 추가한정보를확인후 "Add artifact" 통해적용한다. Page 9
Page 10
3. CI (Jenkins) 설정 3.1 Subversion 설치 ( 선택사항 ) CI 설정에앞서소스저장소 (Subversion) 을설치한다. egovci 에는 VisualSVN 의설치파일을별도로제공하고있으며, 필요시설치하여사용한다. ( 별도로 SVN 을구성하여사용하여도무방하다.) egovci 의 VisualSVN-server-XXX.msi 를설치한다. Page 11
3.2 SVN Repositories 설정및사용자등록. SVN 저장소설정및사용자등록관련사항을설정한다. 3.2.1 저장소설정및등록 VisiualSVN 서버의구동을확인하고, "Repositories" 의오른쪽을클릭하여 Create New Repository 선택, 새로운저장소를만든다. 1. 임의저장소설정. (ex: egovciworkshop) 2. 필요한사항을설정하고 Create 를한다. 설정을완료후, 아래와같이저장소위치를확인할수있다. Repository location : http://<localhost>/svn/egovciworkshop/ Page 12
** 참고로 <localhost> 주소를아래와같이실제 IP 주소를대치하여사용가능하다. 3.2.2 사용자등록 아래와같이 "User" 메뉴에서새로운사용자를설정가능하다. Ex) 사용자이름 : com 비밀번호 : com01 Page 13
3.2.3 SVN 서버시작 / 종료. SVN 왼쪽메뉴에서아래와같이서버를시작 / 종료를할수있으며, 확인이가능하다. 3.2.4 Eclipse 프로젝트를 SVN 서버에등록. SVN 서버의정보를활용하여 Eclipse 내의프로젝트를등록하고소스를반영한다. 1. Eclipse 에서 SVN Repositories 를연다. 2. 새로운저장소정보를생성및 SVN 정보를등록한다. Page 14
SVN 저장소정보등록후, 프로젝트를 SVN 에등록하여야한다. 1. 프로젝트선택후, 오른쪽마우스를클릭하여 Team -> share Project 로프로젝트를 SVN 에공유한다. 등록된프로젝트는 SVN 서버 Manager 에서다시확인가능하다. Page 15
3.3 Jenkins 설정. 다음은 Jenkins 설정으로아래와같은주소를통해접속이가능하다. http://<localhost>:8080:/jenkins/ ** 접속이되지않은경우, "start-jenkins.bat" 을통해 Tomcat 를실행한다. Ex) 사용자이름 : admin 비밀번호 : <initialadminpassword> 파일확인 Page 16
3.3.1 Jenkins 기본시스템설정 Jenkins 의새작업등록전, Jenkins 의기본시스템설정한다. 설정을통하여 JDK, ANT, Maven, SVN 서버정보를등록하여프로젝트의컴파일, Deploy 을할수있다. 시스템설정은 Jenkins 관리 -> Configure System 메뉴를통해서할수있다.. 아래와같이 JDK, ANT, MAVEN home 디렉토리을설정한다. Page 17
3.3.2 새작업생성 통합환경에서자동으로프로젝트 complie 을위해아래와같이새작업을생성한다. Page 18
Source Code Management 에서 SVN 에등록된프로젝트정보및사용자정보를아래와같이설정한다. Page 19
Goals: type clean install (which means of MVN clean and install command) Page 20
Page 21
3.3.3 작업 Bulid 모든설정이후, 최초수동으로 Bulid 하여설정을확인할수있다. 아래와같이 Build Now 메뉴를통하여, Maven build 를실행한다. 빌드실행시콘솔을통하여빌드프로세스틀확인할수있다. 아래와같이작업아이콘또는콘솔의정보로빌드를확인한다. Page 22
정상적으로빌드가끝나면, Workspace 에서빌드를통하여만들어진 war(servlet 웹프로젝트의경우 ) / jar( 자바프로젝트의경우 ) 파일을확인할수있다. Page 23