ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [1] 젠킨스 Jenkins 스프링부트 war+Maven+Tomcat+Svn 빌드 및 배포
    Build and deploy 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 이름으로 복사 시킨다.

    반응형

    댓글

Designed by Tistory.