0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】プロフィールサイト②Renderへのデプロイでつまずいたポイント【ポートフォリオ】

0
Posted at

まとめ(自分用メモ)

Spring BootアプリをRenderにデプロイする中で詰まったポイントと、その解決方法を整理しておく。


1. リモート整理(push先の安全化)

配布元リポジトリに誤ってpushしないように、origin を自分のGitHubに変更し、配布元は upstream として残した。

なぜやるのか

課題のルールで「配布元へpushしない」必要があるため。
事故防止のための基本設定。


2. デプロイ用ブランチ作成

feature/deploy-render ブランチを作成し、デプロイ関連の作業はすべてこのブランチで実施。

なぜやるのか

main ブランチを汚さず、デプロイ用の変更を分離するため。
トラブル時の切り戻しも楽になる。


3. Dockerfile修正(最重要)

最初にハマった原因は、Dockerfileに「起動方法」が書かれていなかったこと。

FROM ...

だけでは、コンテナは起動してもアプリは動かない。

修正内容

  • build stageで ./gradlew bootJar を実行してjarを作成
  • runtime stageでjarをコピー
  • java -jar /app/app.jar をCMDに設定

なぜやるのか

Renderは「コンテナを起動するだけ」なので、
起動コマンドが無いとSpring Bootアプリは立ち上がらない。


4. Renderの環境変数設定(DB接続)

application.properties がローカル環境向け(db ホスト)になっていたため、そのままでは接続に失敗。

設定した環境変数

SPRING_DATASOURCE_URL
SPRING_DATASOURCE_USERNAME
SPRING_DATASOURCE_PASSWORD

なぜやるのか

本番環境では db:5432 のようなローカル設定は使えず、
Renderが提供するPostgreSQLに接続する必要があるため。


5. 再デプロイしてログ確認

Renderのダッシュボードから

Manual Deploy → Deploy latest commit

を実行して再デプロイ。

成功の判断ログ

Tomcat started on port 8080
Started SpringbootApplication
Your service is live

なぜやるのか

設定しただけでは不十分で、実際にアプリが起動することを確認する必要があるため。


今回の学び(要点)

  • デプロイは「コード + 起動方法 + 環境変数」の3点セット
  • ローカルで動いても、本番では接続先(特にDB)が変わる
  • エラーログの1行(例:UnknownHostException: db)が原因特定の鍵になる
0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?