Digital Ocean에 JPetStore 배포
JPetStore란?
JPetStore는 전체 웹 애플리케이션 서버에서 Spring을 사용하는 방법을 알 수 있는 샘플 데모 애플리케이션입니다. MyBatis 3, Spring 5 및 Stripes 위에 구축되었습니다.
다음은 GitHub repo 입니다.
TomCat, Jetty, Glassfish 등에서 JPetStore를 실행할 수 있습니다.
로컬에서 실행하는 방법은 무엇입니까?
repo을 로컬에 복제하고 아래 단계를 따르십시오.
# clone the repo
git clone https://github.com/mybatis/jpetstore-6
# build war file
cd jpetstore
./mvnw clean package
# deploy
./mvnw cargo:run -P tomcat90
그런 다음 http://localhost:8080/jpetstore를 시작합니다.

Docker 컨테이너로 실행하는 방법은 무엇입니까?
위의 단계가 너무 많습니다. 그러나 Docker를 활용하면 하나의 명령으로 JPetStore를 시작할 수 있습니다. 전제 조건은 로컬에 Docker를 설치하는 것입니다.
JPetStore 앱을 시작하는 아래 명령을 실행하십시오.
docker run -p 8080:8080 -d qainsights/jpetstore
그런 다음 http://localhost:8080/jpetstore를 시작합니다.
Digital Ocean에 배포하는 방법은 무엇입니까?
때로는 앱을 로컬에서 실행하는 것도 편하지 않을 수 있습니다. 애플리케이션을 클라우드로 이동해 보겠습니다. Digital Ocean은 앱을 배포하고 관리할 수 있는 다양하고 저렴한 요금제와 흥미로운 기능을 제공합니다. JPetStore를 배포하는 방법에는 여러 가지가 있습니다. 드롭릿을 사용하거나 Docker Hub에서 배포할 수 있는 앱을 활용하는 것입니다. DO 레지스트리 또는 GitHub 리포지토리에서.
프로세스를 간단하게 유지하기 위해 Docker Hub에서 배포하겠습니다.
this link을 사용하여 무료 Digital Ocean 계정에 가입하면 $100의 60일 크레딧을 무료로 받을 수 있습니다.
Free $100 Digital Ocean Credits
그런 다음 앱 > 앱 만들기로 이동하거나 아래와 같이 만들기 > 앱으로 이동합니다.

리소스 페이지에서 Docker 허브를 클릭한 다음 리포지토리 텍스트 필드에
qainsights/jpetstore
를 입력하고 아래와 같이 다음 버튼을 클릭합니다.
다음 단계는 필요에 맞는 계획을 선택하는 것입니다. 아래와 같이 계획 편집을 클릭합니다.

Pro 플랜을 선택하고 아래와 같이 원하는 크기를 선택합니다. 비용을 낮게 유지하기 위해 1GB RAM과 1 vCPU 성능이 포함된 월 $12 요금제를 선택하겠습니다. 그런 다음 뒤로를 클릭합니다.

그런 다음 구성을 검토할 수 있는 마지막 화면에 도달할 때까지 화면 프롬프트 지침을 따릅니다. 그런 다음 리소스 만들기 버튼을 클릭합니다.
아래와 같이 Go to Deploy Logs 버튼을 클릭하여 로그를 모니터링합니다.

1분 이내에 Digital Ocean은 아래와 같이 퍼블릭 엔드포인트를 제공합니다.

애플리케이션을 시작하려면 URL에
jpetstore
를 추가합니다. https://oyster-app-noajq.ondigitalocean.app/jpetstoreDigital Ocean은 TLS 인증서로 URL을 자동으로 프로비저닝합니다. 얼마나 멋진가요?

간단한 부하 테스트를 실행 중이라고 가정합니다(더 많은 부하를 가하지 마십시오. 대량 부하 테스트를 시도하기 전에 Digital Ocean 팀에 알리고 월말에 갑자기 청구되지 않도록 하는 것이 이상적입니다) , Digital Ocean Insights 탭은 CPU, 메모리 등을 모니터링하는 데 도움이 됩니다.

자원을 파괴하는 방법?
학습을 마치면 더 이상 앱을 실행하지 않아도 될 수 있습니다. 리소스를 삭제하려면 아래와 같이 Actions > Destroy App으로 이동합니다.

프롬프트에 따라 리소스를 삭제합니다. 이 작업은 되돌릴 수 없습니다.

마지막 생각들
우리가 배운 것처럼 Digital Ocean에서 데모 애플리케이션을 실행하는 것은 쉽고 저렴합니다. 성능 테스트 및 엔지니어링 개념을 배우고 자신의 상자에서 작은 실제 부하 테스트를 실행하고 다른 구성 요소를 설정하지 않고도 CPU, 메모리 및 기타 리소스를 모니터링할 수 있습니다.
행복한 성능 테스트!
Reference
이 문제에 관하여(Digital Ocean에 JPetStore 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/qainsights/deploy-jpetstore-in-digital-ocean-28g1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)