CLOVER🍀

That was when it all began.

HerokuにWARファイルをデプロイする

最近、とあるPaasからHerokuへの移行をしているのですが、アプリケーションをデプロイする時にGitを使ったデプロイではなく、ちょっとした理由があってWARファイルを直接デプロイできないかなぁと思い、ちょっと調べてみました。

あ、もちろんJava前提の話ですよ。

結果、できました。日本語情報を見かけなかったので、メモっておきます。需要があるかどうかは謎ですが。

とりあえず、ローカルでGit操作を全く絡ませないという形で考えると…

まず、デプロイしたいアプリケーションのWARファイルを作成します。ここでは、Mavenなどを使って以下のディレクトリにWARファイルを作ったとしましょう。

target/my-sample-app.war

それから、アプリケーションをHerokuに作成します。

$ heroku apps:create my-sample-app

ここでは、アプリケーション名を「my-sample-app」としましょう。

続いて、heroku-deployコマンドラインプラグインをインストールします。

$ heroku plugins:install https://github.com/heroku/heroku-deploy

この手順は、最初だけ行います。

ここまでの手順には、順序性などありませんけどね。

最後に、以下のコマンドでデプロイします。

$ heroku deploy:war --war target/my-sample-app.war --app my-sample-app

実行すると、以下のような表示が出てきてデプロイが行われます。

Uploading target/my-sample-app.war...............done
Deploying to my-sample-app........done
Created release v6

これで完了です。次回以降は、少なくともプラグインのインストールは不要になります。

うまくいったかどうかは、ログをtailするなどで確認。

$ heroku logs --tail --app my-sample-app

以上です〜。

参考)
WAR Deployment
https://devcenter.heroku.com/articles/war-deployment

なぜか、xsbt-web-pluginのREADMEにも、この手順が載っていました
https://github.com/earldouglas/xsbt-web-plugin#heroku