SpringBootアプリケーションのHerokuへのデプロイ
概要
SpringBootアプリケーションをHerokuにデプロイする手順をまとめます。
heroku.ymlやコンテナレジストリによるコンテナデプロイを試したがうまくいかなかった為、
公式サイトの手順に沿ってデプロイしていこうと思います。
Heroku に Spring Boot アプリケーションをデプロイする | Heroku Dev Center
こんな丁寧な公式サイトがあるなら、初めからこの方法でやっとけって話ですよね。
でもせっかくDockerで開発環境を作ったからデプロイでもコンテナ使いたかったんです。。。
それでは早速作業に入ろうと思います。
手順
heroku CLIのダウンロード
難しいことは何もなし
SpringBootアプリを作成する
参考サイトではCLIからプロジェクトを作っているみたいですが、今回はあらかじめ作ってあるアプリケーションを使います。
ちなみにあらかじめ作成してるアプリの構成は以下の通りです。
JDK、Mavenがインストールされたコンテナを立ち上げて、
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