공중화장실 찾기 - 4 <Spring Boot GGP 배포>

2024. 9. 11. 11:19·Java/공중화장실 찾기
목차
  1. ✅ VM 인스턴스 생성
  2. 1️⃣ Google Cloud Platform 가입
  3. 2️⃣ VM 만들기
  4. ✅ 배포 작업
  5. 1️⃣ Java 설치
  6. 2️⃣ MariaDB 설치
  7. 3️⃣ Project Build
  8. 4️⃣ 방화벽 규칙 생성
  9. ✅ 마무리
728x90

2024.09.09 - [Java/공중화장실 찾기] - 공중화장실 찾기 - 3 <네이버 지도 API 적용>

 

공중화장실 찾기 - 3 <네이버 지도 API 적용>

2024.09.08 - [Java/공중화장실 찾기] - 공중화장실 찾기 - 2 " data-og-description="2024.09.06 - [Java/공중화장실 찾기] - 공중화장실 찾기 - 1 " data-og-description="최근 부쩍 단조로워진 나의 삶이 지루해져서 재미

magicmk.tistory.com

 

애플리케이션의 기능은 사실상 이전 포스팅에서 전부 다뤄보았다.

이번 포스팅에서는 기존에 로컬에서만 띄웠던 것을 GCP (Google Cloud Platform)을 이용하여 배포하려고 한다.


✅ VM 인스턴스 생성

1️⃣ Google Cloud Platform 가입

https://cloud.google.com/

 

클라우드 컴퓨팅 서비스 | Google Cloud

데이터 관리, 하이브리드 및 멀티 클라우드, AI와 머신러닝 등 Google의 클라우드 컴퓨팅 서비스로 비즈니스 당면 과제를 해결하세요.

cloud.google.com

 

GCP의 경우 최초 가입 시 약 $300의 크레딧이 제공된다.

무료 체험판

 

위 사진을 보면 $300가 제공되고 해당 금액을 전부 다 쓴 이후는 자동으로 청구되지 않기 때문에

잠시 사용하기 좋은 것 같다.

 

2️⃣ VM 만들기

VM 만들기

 

VM 만들기 상세

  1. 이름: 원하는 VM 이름 기입
  2. 리전: 서버의 물리적 위치 > 한국 서비스는 서울 선택
  3. 시리즈: 가격과 성능에 따라 고려 > 본인은 E2-small 선택
  4. 부팅 디스크: 이미지와 크기를 서비스 상태에 따라 고려 > 본인은 10GB에 ubuntu 20.04 설정했다.
  5. ID 및 API 액세스: 액세스 범위 > 모든 Cloud API 대한 전체 액세스 허용 선택
    방화벽 > "HTTP", "HTTPS" 트래픽 모두 선택
    ID 및 API 액세스

이제 만들기를 클릭하면 인스턴스가 생성된다.

 

생성된 인스턴스

 

여기서 SSH를 클릭하게 되면 생성된 VM에 접근할 수 있게 된다.

 

웹 콘솔


✅ 배포 작업

spring boot 프로젝트가 존재하고 linux에 대해 어느 정도 지식이 있다는 가정 하에 설명한다.

 

1️⃣ Java 설치

기존 패키지가 최신 상태인지 확인 > sudo apt update

 

사용 가능한 목록 찾기 > sudo apt-cache search openjdk

 

openjdk17 jre, jdk 설치 (각자 프로젝트에 맞춰서 버전을 변경하면 됨)

sudo apt-get install openjdk-17-jre

sudo apt-get install openjdk-17-jdk

 

자바 버전 확인 > java --version

 

java version

 

2️⃣ MariaDB 설치

https://velog.io/@xangj0ng/Linux-Ubuntu-Mariadb-%EC%84%A4%EC%B9%98

 

[Linux] Ubuntu Mariadb 설치

설치 전 패키지 업데이트서버, 클라이언트 설치클라이언트 설치 시 설정에 대해 묻는데, 만약 묻지 않는다면, 아래 명령어를 수행한다.root 비밀번호를 입력한다.위에서 비밀번호를 설정했기 때

velog.io

 

DB 설치는 위 블로그를 참고하면 될 것 같다.

참고로 MariaDB를 설치하고 난 뒤에는 대소문자 구분을 하지 않는 설정을 해야 한다.

해당 설정을 하지 않은 채 테이블을 만들었다가 애플리케이션이 테이블 이름을 찾지 못하는 불상사가 나타났었다.

 

https://velog.io/@ddmkim94/Linux-MariaDB-%ED%85%8C%EC%9D%B4%EB%B8%94-%EB%8C%80%EC%86%8C%EB%AC%B8%EC%9E%90-%EA%B5%AC%EB%B6%84-%EC%84%A4%EC%A0%95

 

[Linux] MariaDB 테이블 대소문자 구분 설정

MariaDB 테이블 대소문자 구분 설정

velog.io

 

대소문자 구분의 경우는 위 블로그를 참고하면 될 것 같다.

 

3️⃣ Project Build

기본적으로 ubuntu에 git을 설치한 뒤 github에 있는 repository를 clone 하는 것까지는 진행했다고 가정하고 시작한다.

https://coding-factory.tistory.com/502

 

[Linux] 우분투 Git 설치 / 다운로드 & 사용 방법

깃허브란? 깃(git)은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템입니다. 깃의 작업 폴더는 모두 기록하고 있어서 추적이 가능하고, 완전한 형태의 저장소입니다. 우분투에서 git

coding-factory.tistory.com

 

위 블로그 참고하면 될 것 같다.

 

project

 

기본적으로 gradlew는 필자와 다르게 하얀색으로 표시될 것이다. 해당 파일은 chmod를 통해 권한을 변경해줘야 한다.

> chmod +x gradlew

 

그리고 프로젝트를 빌드한다. > ./gradlew build

 

build 후 jar 확인

 

그리고 백그라운드에서 프로젝트를 실행시키면 마무리

> nohup java -jar {jar name} &

 

4️⃣ 방화벽 규칙 생성

애플리케이션 기동까지 완료했다고 해서 마무리되는 것이 아니고 VM 인스턴스에서 방화벽 규칙을 통해

포트를 외부에서 접근할 수 있도록 열어줘야 한다.

 

 

필자는 spring boot project가 8080 포트를 쓰고 DB가 3306 포트를 쓰기 때문에 2개의 포트를 설정해 뒀다.


✅ 마무리

GCP라는 것을 처음 쓰다 보니 VM을 생성하고 내부에 파일을 넣는 등등 고난이 있었지만 금방 해결한 것 같다.

이 글을 통해 다들 쉽게 프로젝트를 배포하면 좋을 것 같다.

 

https://github.com/Kimmingki/suddenPoo

 

GitHub - Kimmingki/suddenPoo: 급똥이 마려울 때 얼른 화장실 찾아야지...

급똥이 마려울 때 얼른 화장실 찾아야지... Contribute to Kimmingki/suddenPoo development by creating an account on GitHub.

github.com

 

저작자표시 비영리

'Java > 공중화장실 찾기' 카테고리의 다른 글

공중화장실 찾기 - 3 <네이버 지도 API 적용>  (2) 2024.09.09
공중화장실 찾기 - 2 <공공데이터 가공>  (3) 2024.09.08
공중화장실 찾기 - 1 <프로젝트 생성 및 네이버 지도 API 적용>  (1) 2024.09.06
  1. ✅ VM 인스턴스 생성
  2. 1️⃣ Google Cloud Platform 가입
  3. 2️⃣ VM 만들기
  4. ✅ 배포 작업
  5. 1️⃣ Java 설치
  6. 2️⃣ MariaDB 설치
  7. 3️⃣ Project Build
  8. 4️⃣ 방화벽 규칙 생성
  9. ✅ 마무리
'Java/공중화장실 찾기' 카테고리의 다른 글
  • 공중화장실 찾기 - 3 <네이버 지도 API 적용>
  • 공중화장실 찾기 - 2 <공공데이터 가공>
  • 공중화장실 찾기 - 1 <프로젝트 생성 및 네이버 지도 API 적용>
요술공주밍키
요술공주밍키
조금씩이라도 꾸준히..
  • 요술공주밍키
    삽질의흔적
    요술공주밍키
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • Java (42)
        • Spring Boot (14)
        • Spring Boot 게시판 (14)
        • 공중화장실 찾기 (4)
        • 쇼핑몰 (8)
      • JavaScript (8)
        • NodeJS (2)
      • Python (5)
        • Django (4)
      • Server (10)
        • Docker (4)
        • K8S (0)
        • Jenkins (1)
      • 알고리즘 (20)
        • 프로그래머스 (17)
        • 백준 (3)
      • Etc (21)
        • 개발 팁 (1)
      • 일상 (19)
        • 독서 포스트 (17)
        • 회고록 (2)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
요술공주밍키
공중화장실 찾기 - 4 <Spring Boot GGP 배포>

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.