본문 바로가기
테크/기타

Google App Engine 에서 Spring Boot 수행 (이클립스)

by ahnne 2017. 5. 18.


# 참조

- google app engine flexible(java) : https://cloud.google.com/appengine/docs/flexible/java/dev-java-only

- google app engine standard vs flexible : https://cloud.google.com/appengine/docs/the-appengine-environments


# Goal

이클립스에서 Spring Boot 프로젝트를 생성하고, 이를 google app engine(flexible) 환경에 deploy 한다.


# 정리

- google app engine 서비스를 사용하면, spring 프로젝트를 google 클라우드 플랫폼에 배포하여 애플리케이션 서버를 운영할 수 있다. 별도의 서버구축(tomcat 구성 등) 필요 없이, 웹 인터페이스로 간단하게 관리가 가능하다.

- spring boot 이전 방식의 spring 프로젝트는 google app engine standard 버전을 사용하고(java7 지원), java8이상 혹은 spring boot 를 운영하기위해서는 google app engine flexible 버전을 사용하여야 한다.


# 순서

## google cloud 프로젝트 생성 및 sdk 

- google cloud 에 접속하여, 프로젝트 생성 (링크 : https://cloud.google.com/)

- sdk파일을 다운로드 하여, 설치 (링크 : https://cloud.google.com/sdk/)

- 설치 완료후, 계정 연동 및 생성한 프로젝트 선택

- 명령 실행 : gcloud components install app-engine-java


## spring 코드 작성

- maven 프로젝트 생성

- Spring boot 샘플 프로젝트 코드

  (https://github.com/GoogleCloudPlatform/getting-started-java/tree/master/helloworld-springboot)

- 이클립스에서 local 실행 되는지 체크.

- pom.xml 에 plugin 값 설정 체크.

<plugin>

    <groupId>com.google.cloud.tools</groupId>

    <artifactId>appengine-maven-plugin</artifactId>

    <version>${appengine.maven.plugin}</version>

</plugin>

- app.yaml 파일 설정(경로 : src/main/appengine/app.yaml)

runtime: java

env: flex


runtime_config:  # Optional

  jdk: openjdk8


handlers:

- url: /.*

  script: this field is required, but ignored


manual_scaling:

  instances: 1

- mvn clean package

- mvn appengine:deploy

- {project-id}.appspot.com 에 접속하여 확인