Beginner's Hack

復習用。誰かのためになれば...

SpringBootアプリケーションのHerokuへのデプロイ

概要

SpringBootアプリケーションをHerokuにデプロイする手順をまとめます。
heroku.ymlやコンテナレジストリによるコンテナデプロイを試したがうまくいかなかった為、
公式サイトの手順に沿ってデプロイしていこうと思います。

Heroku に Spring Boot アプリケーションをデプロイする | Heroku Dev Center

こんな丁寧な公式サイトがあるなら、初めからこの方法でやっとけって話ですよね。
でもせっかくDockerで開発環境を作ったからデプロイでもコンテナ使いたかったんです。。。

それでは早速作業に入ろうと思います。

手順

heroku CLIのダウンロード

難しいことは何もなし

SpringBootアプリを作成する

参考サイトではCLIからプロジェクトを作っているみたいですが、今回はあらかじめ作ってあるアプリケーションを使います。

ちなみにあらかじめ作成してるアプリの構成は以下の通りです。 JDKMavenがインストールされたコンテナを立ち上げて、
VS CodeのRemote - Container拡張機能でソース編集、デバッグを行うための環境です。

root
|_ .devcontainer
|      |_ devcontainer.json
|_ spring-boot-app
      |_app <- SpringBoot project
      |_docker-compose.yml

SpringBootアプリのローカルリポジトリを作成する

SpringBootプロジェクトのルートディレクトリ(pom.xmlがあるディレクトリ)で下記コマンドを実行する。

git init
git add .
git commit -m 'first commit'

このリポジトリをherokuにpushしてデプロイを行う。

Herokuにpushする

Heroku上にアプリ領域を準備して、そこへ先ほどコミットしたリポジトリをpushする。

heroku create アプリ名

アプリ名は一意であること。日付入れておけば大体OK

リモートリポジトリにherokuが登録されてるか確認する。

git remote -v

ルートディレクトリにsystem.propertiesファイルを作成することでjavaの実行環境を指定することができる。

java.runtime.version=17
javaのバージョンを17に指定

Herokuにpushする

git push heroku main

下記コマンドでブラウザを開きデプロイしたアプリのページに遷移する。

heroku open