1. 개요


2. 시작

SDK는 설치되어있다는 전제 하에 작업한다.

gcloud app create --project=[YOUR_PROJECT_ID]

3. App Engine 자바 구성요소 설치

gcloud components install app-engine-java
Your current Cloud SDK version is: 256.0.0
Installing components from version: 256.0.0

┌───────────────────────────────────────────────────┐
│        These components will be installed.        │
├──────────────────────────────┬─────────┬──────────┤
│             Name             │ Version │   Size   │
├──────────────────────────────┼─────────┼──────────┤
│ Cloud Datastore Emulator     │   2.1.0 │ 18.4 MiB │
│ gRPC python library          │  1.20.0 │  1.9 MiB │
│ gRPC python library          │         │          │
│ gcloud app Java Extensions   │  1.9.76 │ 85.9 MiB │
│ gcloud app Python Extensions │  1.9.86 │  6.0 MiB │
└──────────────────────────────┴─────────┴──────────┘

For the latest full release notes, please visit:
  https://cloud.google.com/sdk/release_notes

Do you want to continue (Y/n)?  y

╔════════════════════════════════════════════════════════════╗
╠═ Creating update staging area                             ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: Cloud Datastore Emulator                     ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: gRPC python library                          ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: gRPC python library                          ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: gcloud app Java Extensions                   ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: gcloud app Python Extensions                 ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Creating backup and activating new installation          ═╣
╚════════════════════════════════════════════════════════════╝

Performing post processing steps...done.

Update done!

4. 인증

gcloud auth application-default login

브라우저 뜨면 로그인한다.


5.  코드 받아오기

git clone https://github.com/GoogleCloudPlatform/getting-started-java.git
Cloning into 'getting-started-java'...
remote: Enumerating objects: 8, done.
remote: Counting objects: 100% (8/8), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8907 (delta 1), reused 0 (delta 0), pack-reused 8899
Receiving objects: 100% (8907/8907), 50.98 MiB | 8.00 MiB/s, done.
Resolving deltas: 100% (4965/4965), done.

6. 로컬 실행

cd appengine-standard-java8/helloworld
mvn appengine:run

 (에러 발생 시 mvn package를 한번 하고나서 하면 되더라는)


7. App Engine 배포

mvn appengine:deploy

이렇게 하면 된다고 하는데 계속 에러가 난다.

[INFO] GCLOUD: To set your project, run:
[INFO] GCLOUD:
[INFO] GCLOUD:   $ gcloud config set project PROJECT_ID
[INFO] GCLOUD:
[INFO] GCLOUD: or to unset it, run:
[INFO] GCLOUD:
[INFO] GCLOUD:   $ gcloud config unset project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.578 s
[INFO] Finished at: 2020-02-18T00:40:35+09:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.google.cloud.tools:appengine-maven-plugin:2.2.0:deploy (default-cli) on project helloworld: App Engine application deployment failed: com.google.cloud.tools.appengine.operations.cloudsdk.process.ProcessHandlerException: com.google.cloud.tools.appengine.AppEngineException: Non zero exit: 1 -> [Help 1]

 결국 이렇게 했다. 

    • getting-started-java/appengine-standard-java8/helloworld/target/appengine-staging 에 들어가서 
    • gcloud app deploy --project 프로젝트명 
Do you want to continue (Y/n)?  y

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 17 files to Google Cloud Storage               ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...done.
Setting traffic split for service [default]...done.

성공.