HerokuにJavaアプリをデプロイしてみた。

Herokuを試してみたかったので、https://devcenter.heroku.com/articles/getting-started-with-heroku-eclipseに従ってやってみる。

EclipseにHerokuプラグインをインストールする。

Eclipseの[Help]→[Install new Software] で以下のサイトを追加する。

表示された「Heroku Eclipse Integration」にチェックを入れて[Next]を2回。表示されたライセンスをacceptして[Finish]。インストール後にEclipseが再起動される。

APIキー設定

Ecliseで[Window]>[Preferences]>[Heroku]を選択。[Email]、[Password]を入力して、[Login]ボタンを押す。[API Key]が自動的に入力される。

SSHキーの作成と設定。

eGitを使ってHerokuと接続するために必要。Eclipseで[Window]>[Preferences]>[General]>[Network Connections]>[SSH2]を選択する。[Key Management]タグを選択し、[Generate RSA Key...]を押す。[Save Private Key...]を押して、[OK]を押してファイルとして保存する。保存したファイルをPreferencesの[Heroku]にて、[Load SSH Key]を押して読み込ませ、[Add]ボタンでHerokuにSSHキーを追加する。

テンプレートからアプリを作成する。

[File]>[New]>[Other]>[Heroku]>[Create Heroku App from Template]を選択し、[Next]。テンプレートを選択し、アプリ名を設定する。アプリ名を指定しない場合、Herokuが自動的にアプリ名を設定してくれる。
テンプレートを「Spring MVC & Tomcat application」、アプリ名を「heroku-spring-mvc-sample」とした。
が、失敗。どうやらSSH系の設定が良くないらしい。

Gitリポジトリからcloneする。

ググったところどうやら1回、eGitでHerokuからcloneすると良いらしい。Heroku側にアプリケーションはできていたので、Herokuのアプリケーションの[Setting]>[Info]に記載されているgitのURLからeGitでCloneする。

Protocolなどは選ばずに、そのまま[Next]>[Next]>[Finish]。
Working Directoryを右クリックして、[Import Projects...]。[Import as general project]を選んで[Finish]。
Java EEのPespectiveに戻って、インポートされたプロジェクトを右クリックして、[Configure]>[Convert to Maven Projects]、でMavanプロジェクトとなる。そのままEclipse上で[Run as]>[Run on Server]で、ローカルTomcat上で起動できる。

動作確認

Herokuのアプリケーション管理画面のアプリケーション名の横にあるリンクか、SettingsのDomainsでドメインを確認してアクセスしてみる。こんなページが出れば成功。

「./people」にアクセスすればサンプルのアプリが確認できる。

もし、以下の画面が出てしまったら、デプロイ後に1時間以上アクセスがなくて停止してしまっている。再起動すればOK。

EclipseでHerokuの[My Heroku Applications]Viewを開いて、アプリケーションを右クリック→[Restart]を選択すれば起動する(管理画面からもできそうな気はするが...)。

以上

とりえあずサンプルは動かすことができた。gitリポジトリにコミットするだけでリリースされるのはすごいね。