Javaで開発したWebアプリケーションを外部公開できるサイトが少ない中、Herokuというサービスは普通にJavaに対応していました。
早速試した結果、これはかなり便利そうだ、ということで自分のメモを兼ねてここに記載します。
Herokuアカウントの作成
Herokuにアカウントを作成しました。
Gmailアドレスをそのまま普通に使用可能です。
Getting startedを進める
Java8(JDK)のインストール
凄いですね。Javaに対応しているだけでも素晴らしいのに、Java8に対応している(というか制限している)点も素晴らしい。
Maven3のインストール
私が試している現在はMaven3.3.3なので、以下のURLでダウンロード。
http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/
ダウンロードしたファイルは
apache-maven-3.3.3-bin.zip
- JAVA_HOME をJDK8インストール先に変更
- PATH にMaven3.3.3解凍先のbinフォルダを追加
mvn --version
で動作確認。
Heroku Toolbeltインストール
Herokuのコマンドラインツールらしいです。
Windows Installerがダウンロードできるので、そのままインストール。
パワーシェルでも動かせるらしいですね。これも素晴らしい。
Getting started によると、heroku login
でログインするそうです。
私の場合、初回実行で以下のように表示されました。
何かアップデートがあったんですかね。
|
$ heroku login Installing Heroku Toolbelt v4... done. For more information on Toolbelt v4: https://github.com/heroku/heroku-cli heroku-cli: Adding dependencies... done heroku-cli: Installing core plugins... done Enter your Heroku credentials. Email: email@domain.com Password (typing will be hidden): Logged in as email@domain.com |
簡単なアプリケーションの準備
なんと、上記の手続きで使えるようになったのか、もともといつの間にかGitコマンドをインストールしていたのか、普通にGitコマンドが使えるようになっています。
|
$ git clone http://hogehoge.com/hoge.git $ cd hogehoge_porject |
クローンできました。
HerokuのGet startedで準備してくれていたサンプルプロジェクトは pom.xml でできていました。
ローカルGitをリモート(Heroku)側に作成?
heroku create
を実行すると、ローカルGitリポジトリをHerokuサーバ側に作成してくれる(のか?)。
このケースでは、アプリケーション名を任意のランダムな名前に設定してくれるようです。
下記のケースでは、sleepy-basin-5991
がそうかな?
|
$ heroku create Creating sleepy-basin-5991... done, stack is cedar-14 https://sleepy-basin-5991.herokuapp.com/ | https://git.heroku.com/sleepy-basin-5991.git Git remote heroku added Updating Heroku CLI... done. |
アプリケーション名はこちらが指定することもできるようです。
heroku create {アプリケーション名}
といった具合いで。今度、試してみます。
デプロイ
そして、ローカルのアプリケーションをリモートにデプロイします。
master ブランチをherokuにpushすることでデプロイするようですね。
標準出力がワシャワシャ出ちゃったので記録できませんでした。割愛。
インスタンスを1つに制限
Getting startedに書いてあったこと、そのままですが、インスタンスを1つに制限するコマンドを実行しておきます。
|
$ heroku ps:scale web=1 Scaling dynos... done, now running web at 1:Free. |
デプロイされたWebアプリケーションを確認する
URL分からないな・・・と思っていたら、コマンドでアクセスできるんですね。便利。
※ このブログをごらん頂いている時には既に撤去しているかもしれませんが、
以下のようなページが表示されます。
https://sleepy-basin-5991.herokuapp.com/
Getting started で謳っていた通り、数分の作業ですね。これは。
とんでもないサービスを見つけてしまった。