Build and deploy

[1] 젠킨스 Jenkins 스프링부트 war+Maven+Tomcat+Svn 빌드 및 배포

dev.mk 2024. 1. 21. 21:07
반응형

스프링부트(war) Tomcat9 톰캣 WAS Maven 레퍼지토리 Svn으로 구성한 프로젝트를 젠킨스로 빌드배포하기

#버전

- JDK 1.8

- 스프링부트 버전 2.7

- 아파치 톰캣 9

- maven 3.9.6

- SVN 형상관리

 

# 삽질 주요 포인트

- 젠킨스에서 프로젝트를 구성할때 안보이는 옵션은 플러그인마켓에서 추가해야만 보인다.

- 프로젝트를 jdk 1.8로 만들었으면 톰캣이 참조하는 jre도 1.8로 해야한다. (톰켓 로그에도 오류가안나오기때문에 해맴)

- 톰캣서버를 켜놔야(./startup.sh) 젠킨스에서 최종 아웃콘솔에 Build Success가 나온다.

 

 

1. 아파치 톰캣 설정

apache-tomcat-9.0.85/conf/tomcat-users.xml

파일에 아래 내용 추가 후 저장, 톰캣 계정정보는 admin / admin 으로 설정한다. (젠킨스에서 입력정보로 사용)

  <role rolename="manager"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-jmx" />
  <role rolename="manager-status" />
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager,manager-gui, manager-script, manager-jmx,  manager-status"/>

 

apache-tomcat-9.0.85/webapps/host-manager/META-INF/context.xml

apache-tomcat-9.0.85/webapps/manager/META-INF/context.xml

이 두파일에서 아래의 내용을 주석한다.

<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->

주의) 톰캣의 자바버전은 배포할 프로젝트의 자바 버전과 동일하게 설정한다.

 

 

2. 젠킨스 - 메이븐 설정

Dashboard > Jenkins 관리 > Tools

 

따로 컴퓨터에 메이븐을 설치할 필요없이 이곳에다 설정해놓는다.

 

2. 젠킨스 - 플러그인 설치

Deploy to container Plugin 버전 1.16

Subversion Plug-in 버전 2.17.3

마켓에서 그냥 무식하게 svn, maven, deploy 쳤을때 나오는 플러그인은 설치하자.

용량이 크게 차지하는 부분은 아님.

 

3. 젠킨스 -프로젝트 생성

 

Maven Project로 생성한다.

 

4.  젠킨스 - 프로젝트 상세설정 

 

- SVN정보 입력

위에 다른 설정들은 그냥 Default로 놔두고 아래 Subversion 항목까지 내려온다ㅣ.

Credentials에 먼저 username / password를 등록하면 Credentials 콤보박스에 계정정보가 생긴다.

 

쭉 쭉 밑으로 내린다.

Build 항목에 아래와 같이 입력.

 

- Build 항목 입력

 

- 빌드후 조치 항목에서 Deploy war/ear to a container 선택

 

 

빌드 후 조치란? 빌드가 끝났으니 이제 서버를 실행시켜야한다. 그래서 톰캣을 설정한다.

- 톰캣 정보를 입력한다. 

 

WAR/EAR files에

**/*.war를 적으면 젠킨스 프로젝트 경로에서 빌드된 파일이 톰캣 webapps 폴더에 ROOT.war란 이름으로 복사된다.

Add Container에서 tomcat 9를 선택

 

톰캣 정보를 입력해준다. 

위에 svn 계정정보 입력하는 것처럼 똑같이 username / password에다가 위에서 tomcat-users.xml 파일에 입력한 계정정보 admin/admin을 넣는다. 

그리고 저장

 

 

기본적인 설정은 모두 끝났다

 

5. 젠킨스 - 빌드 시작

먼저 톰캣 서버를 시작한다.

./startup.sh

> Tomcat started.

 

 

빌드 화살표를 누르면 왼쪽하단에 빌드 프로그레스바가 생긴다.

 

Console Output을 누르면 현재 진행중인 빌드의 로그를 볼 수 있다.

 

 

빌드가 완료되면 SUCCESS로 마무리 된다.

 

원리는 SVN에서 프로젝트를 젠킨스 프로젝트 경로로 내려받고, war로 빌드 후 톰캣 webapps 폴더에 ROOT.war 이름으로 복사 시킨다.

반응형