상세 컨텐츠

본문 제목

Azure클라우드에 스프링부트 앱을 CI/CD사용하여 배포하기05(젠킨스빌드)

클라우드+마이크로서비스

by 김일국 2022. 10. 19. 17:32

본문

### 이번에는 지난 시간에 마무리한 젠킨스 설정 이후 빌드를 실행해서 파이프 라인을 수동으로 가동시켜서 스프링부트 앱이 실행되는 결과를 확인해 본다.

- 07_CI_CD환경만들기29_Azure리소스에서wasVM의8080보안규칙허용추가: 빌드 결과를 확인 하기 전에 스프링부트앱이 실행될 WAS도 8080포트를 허용해 준다.(아래)

- 참고로, 젠킨스를 사용하지 않고, was VM에서 바로 jar 파일을 모바X텀 SSH로 업로드 후 실행 가능하다.(아래)

- 또는 아래 직접 실행 명령으로 가능하다.

nohup java -jar /home/azureuser/SpringBootProject/deploy/springboot2-kimilguk-1.0.3-SNAPSHOT.jar >> /home/azureuser/SpringBootProject/logs/helloProject.log&

하지만, 우리는 좀더 간단하고 GUI방식으로 CI_CD 젠킨스화면에서 깃 허브의 소스를 빌드해서 사용하기로 한다.(아래)

 

- 07_CI_CD환경만들기28_젠킨스파이프라인깃연동구성중지금빌드시작(아래)

- 07_CI_CD환경만들기30_Jenkins 에서 빌드 후 wasVM의결과확인 : was에 jar 살행 파일이 업로드 된 것을 확인(아래)

- 07_CI_CD환경만들기31_스프링부트앱출력최종결과확인(아래)

- 07_CI_CD환경만들기32_작업기간인 2일간사용한금액 : 430원 (아래)

- 위 작업 후 7일 후 10월19일 요금 확인: 12,294원 - 학생 계정이라서 부담없이 실습하지만, 보통은 클라우드 사용은 이렇게 비용이 금방 증가 합니다. 그래서, 실습하지 않을 때는 가상 머신을 중지해 놓습니다. 실제 운영할 때는 비용에 주의 하셔야 합니다.(아래)

- 10월13일 부터 10월20일 까지 총 7일간 사용한 내역확인(15,880원),  21일 부터 VM중지 시킨 후 금액이 표시된다.(아래)

- 모든 VM 실행 중지 : VM 내부 데이터는 모두 보존 된다. 중지 후 시작 버튼을 누르면 모든 자료가 살아 난다.(아래)

- VM 가상 머신을 중지 한 후 시작 하면, jenkins VM은 자동으로 서비스가 실행된다.

- 하지만, 스프링부트 앱이 있는 was VM은 앱이 자동 실행 되지 않는다. VM이 시작 될 때 bash 쉘 스크립트가 실행된도로고 하는 Cloud-init 기능은 최초 VM생성 시만 입력할 수 있고, 생성 후 VM 재 시작에서는 작동하지 않는다.(아래)

- 위 Cloud-init 클라우드 초기화 관련 정보: https://learn.microsoft.com/ko-kr/azure/virtual-machines/linux/cloudinit-bash-script

- 그래서, was VM은 중지 에서 시작 한 후, 가상머신의 [실행 스크립트] 메뉴에서 명령어를 실행하면, 스프링부트앱이 시작된다.(아래)

- 참고로, 아래와 같은 방법도 있으나 사용 하지 않고, 유연하게 위 처럼 실행 스크립트로 처리한다. 

- 방법 : was VM 의 OS(현재는 CentOS) 에서 서버 부팅 시 마다 매번 자동으로 실행되길 원하는 start_service.sh 파일을 /etc/rc.d/rc.local에 넣어준다.(참조: https://haengsin.tistory.com/87 )

- start_service.sh 쉘 실행파일에 대한 내용은 이전 포스트 https://kimilguk.tistory.com/830 하단에서 확인 할 수 있다.

 

- 다음에는 1. Azure 클라우드에서 DNS 도메인 리소스를 추가하고, 도메인으로 접

속할 수 있게 한다.

- 다음에는 2.  Azure 클라우드에서 SQL 리소스를 추가하고, 스프링부트 앱에서 클라우드 DB를 사용할 수 있게 한다.(현재는 h2-db라는 메모리DB 사용 중이다.)

관련글 더보기

댓글 영역