3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Spring BootアプリケーションをCloud Runにデプロイ with gradle

Posted at

Spring BootのアプリケーションをCloud Runにデプロイしていく
https://qiita.com/indes888/items/feb431bd0a0a4cce142b
の続き

前提条件

  • GCPのアカウントを持っていてプロジェクトを作成済み
  • gcloudがインストールされて初期設定が済んでいる

マルチステージビルドにする

ビルドとアプリケーションの起動を1つのDockerfileを使ってまとめる

dockerfile
FROM gradle:6.7.1-jdk11 as builder
COPY --chown=gradle:gradle . /home/gradle/src
WORKDIR /home/gradle/src
RUN gradle build bootjar

FROM openjdk:11-jre-slim
EXPOSE 8080
RUN mkdir /app
COPY --from=builder /home/gradle/src/build/libs/*.jar /app/bootjar.jar
ENTRYPOINT ["java", "-jar","/app/bootjar.jar"]

dockerbuild時にgradleビルドが実行される。
dockerbuild + dockerrun は以下のコマンド

docker build -t bootbuilder:v0.2 .
docker run -it --rm -v "$PWD":/home/gradle/src -p 8080:8080 bootbuilder:v0.2

localhost:8080にアクセスして文字列が表示されたら起動確認完了

Cloud Runにデプロイする

GCPのダッシュボードからCloud Runを選択し、APIを有効化しておく必要がある
まずはCloud Buildを使ってContainer Registoryにイメージをpushする

gcloud builds submit --tag gcr.io/$PROJECT_ID/bootbuilder:v0.2

$PROJECT_IDには使用するプロジェクトIDを挿入する
ビルドが実行されてイメージがpushが完了するとContainer Registoryからイメージを確認できる

次にContainer RegistoryからCloud Runにイメージをデプロイする

gcloud run deploy --image gcr.io/$PROJECT_ID/bootbuilder:v0.2 --platform managed

サービス名とデプロイするリージョンが聞かれるので適当に進める
最後に
Service URL: https://XXXXXXXXXXXXXXXXXXXXX.a.run.app
と表示されるのでアクセスして文字列が表示されればデプロイは完了
URLはCloud Runのダッシュボードからも確認できる

Cloud Runはデフォルトでコンテナの8080ポートにリクエストを転送するのでアクセスできる
使用するポートはgcloud run deployの--portオプションで変更可能

--platformオプションの説明は以下を参照
https://cloud.google.com/sdk/gcloud/reference/beta/run/deploy#--platform

参考資料

https://codefresh.io/docs/docs/learn-by-example/java/gradle/
https://cloud.google.com/run/docs/quickstarts/build-and-deploy

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?