Java에서 개발한 웹 애플리케이션을 Jenkins를 사용하여 자동 배포 [Tomcat 앱편]

CI/CD를 실천하기 위해 Jenkins에서 Artifacts를 생성하여 애플리케이션 서버에 배포하는 곳까지 설정해 보았습니다.

소스 코드와 서버 구축은 이 준비편에 써 있습니다.
JVM 서버에 SpringBoot 애플리케이션을 자동으로 배포하려면 SpringBoot 앱 편을 참조하십시오.

Jenkins의 직업 흐름 1


  • 소스 코드 체크 아웃
  • Maven에서 빌드를 실행하고 war 파일 출력
  • Tomcat 관리자를 사용하여 war 파일을 Tomcat 서버에 전송하고 배포

  • 소스 코드 체크아웃



    소스 코드도 관리에서 Git을 선택하고 준비 편에서 준비한 Github 저장소을 체크 아웃합니다. 2
    branch는 */master를 지정합니다.

    Maven에서 빌드를 실행하고 war 파일을 출력합니다.



    쉘 실행을 선택하고 ./mvnw 명령으로 실행하십시오.

    빌드는 maven을 사용하지만 Mave 작업이 아닌 리포지토리에 포함된 MavenWrapper에서 실행합니다.
    리포지토리에는 두 개의 프로젝트가 있으므로 현재 디렉토리를 WebSpringBoot로 이동 한 다음 실행합니다.
    cd WebSpringMvc
    ./mvnw clean package
    

    Maven을 실행하면/WebSpringMvc/target 폴더에 web-spring-mvc.war가 생성됩니다.

    Tomcat 관리자를 사용하여 war 파일을 Tomcat 서버로 전송하고 배포



    쉘 실행을 선택하고 curl에서 Tomcat의 manager 명령을 실행하여 war 파일을 배포합니다.
    # path=/appパラメータで、アプリケーションのコンテキストパスが指定できます
    curl --upload-file WebSpringMvc/target/web-spring-mvc.war "http://admin:[email protected]:8080/manager/text/deploy?path=/app&update=true"
    

    Jenkins 작업 실행이 성공하면 다음 URL에서 응용 프로그램 실행을 확인할 수 있습니다.
    htp://192.168.33.30:8080/아 p/g

    빌드 설정 화면





    참고



    Configuring Manager Application Access



    이번에는 굳이 명령 실행으로 빌드와 배포를 하고 싶었기 때문에 쉘의 실행 태스크를 이용했습니다. 

    이 리포지토리에는 war용 WebSpringMvc와 jar용 WebSpringBoot라는 두 개의 Maven 프로젝트가 포함되어 있습니다. 이번에는/WebSpringMvc를 이용합니다. 

    좋은 웹페이지 즐겨찾기