気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

HerokuにJavaアプリをデプロイする

昔、RubyでHerokuにアプリを上げたりしてましたが、
Javaアプリをデプロイするやり方がわからなかったので、作業メモとして、残します。

Herokuのアカウント作成していない方は、作成して下さい。
クレジットカード番号は、不要で、メールアドレスのみ登録ができるようです。

Heroku用開発ツールの設定

「Heroku Toolbelt」というコマンドラインツール(CLI)をダウンロード、インストールします。
このツールにより、herokuへのログインやデプロイを行うコマンドのインストールを行います。

以下のURLを参考。
DL&Install

設定できたら、ログインする。

$ heroku login
Enter your Heroku credentials.
Email: xxxx@xxxxxx.xxx
Password:xxxxxx
Logged in as xxxx@xxxxxx.xxx

Herokuへアプリ作成

アプリのルートディレクトリで、以下のコマンドを実行。
アプリ名を省略するとherokuでランダムな名称のアプリを作成してくれます。

$ heroku create [アプリ名]

これにより、Heroku上にgitリポジトリを作成し、そのリポジトリにローカルgitリポジトリが紐付けられる。
ローカルgitのremoteへHeroku上のgitリポジトリが設定される。
デフォルトのpush先が指定されるわけですね。

アプリのデプロイ

もし、すでにデプロイ済みでデプロイ先を変更したい場合は、以下が参考になるかもしれません。
Heroku 接続先URLを変更する

以下のコマンドで、デプロイします。herokuに対して、masterブランチをpushします。 mavenタスクがダダダッと走ります。エラーなく、完了すれば、デプロイ完了です。

$ git push heroku master

・
・
・
remote:        https://new-app123.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/new-app123.git
 * [new branch]      master -> master

以下でデプロイアプリを確認できます。お疲れ様でした。

$ heroku open

もし、エラーが出る場合は、ログを確認してみると良いです。

$ heroku logs

【参考】DB設定

アプリ内でposgreSQLを使用する設定をpom.xmlに書いておくと、Herokuに勝ってにDBが作成されます。

pom.xml内のposgreSQLの設定

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
</dependency>

flywayなどのマイグレーションを設定しておくとアプリデプロイ時にDB作成までやってくれますが flywayが未設定の場合は、テーブル作成やマスタデータ登録などが必要です。

ローカルにpsqlがインストールされていると以下のコマンドでheroku上のアプリのDBに接続できます。
この状態でSQLコマンドでテーブル作成をすると良いです。

$ heroku pg:plsql

・
・
--> Connecting to postgresql-xxx-11111
psql (9.5.0, server 9.6.1)
WARNING: psql major version 9.5, server major version 9.6.
         Some psql features might not work.
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

new-app123::DATABASE=>