昔、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=>