Herokuはお手軽にWebアプリケーションを公開できるサービスですが、でも「このgithubに上がっているコードをちょっと動かして試してみたい」という場合はcloneして、heroku initして、pushして、と一手間二手間かかります。
ところがより手軽にHerokuにアプリケーションをデプロイする方法があります。
以下のページにアクセスしてみてください。
https://github.com/recruit-tech/redpen
Deploy to Herokuというボタンがあると思います。
このボタンを押すといきなりHerokuにアプリをデプロイする画面に遷移します。(もちろん要Herokuアカウント/ログイン)
裏の仕組みはともかく、Herokuボタンを設置するのは非常に簡単。アプリケーション名などを記述したapp.jsonをというファイルをリポジトリのルートに配置し、readme.mdに以下のようなマークアップを記載しておくだけ。
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)
このボタンを押すとHeroku側ではリファラをたどってapp.sonを読み込み、いきなりデプロイ画面を表示してくれるという仕様です。
もちろんGitHub以外のサイトにデプロイボタンを埋め込む事も可能。その歳はリファラでリポジトリを検出することはできないのでrepositoryというGETパラメータでリポジトリのURLを指定します。
以下のボタンで実際にRedPenをデプロイできます。ボタンのリンク先URLでrepositoryを確認できます
ちょっと面白いアプリを作ってみたけれども自分でデプロイしたものにアクセスが殺到されてもそうそうDyno(スケールアップさせるための単位)は増やせないので・・・という場合はHerokuボタンを設置して各々にデプロイしてもらえるようにしておく、というのも1つの選択肢として考えておきたいですね。
Herokuボタンを使ったJava Webアプリケーションのたたき台とできる最小限のコードも書いてみました。jspでHello worldを表示するだけ。
・yusuke/heroku-deploy-button-java
埋込Herokuボタンはこちら。
・Hello Worldアプリケーションをデプロイ
デプロイ時に色々パラメータを指定することもできます。やり方は次回のエントリで。
Herokuについて詳しくは「プロフェッショナルのための実践Heroku入門」をどうぞ。もっと丁寧な説明が書いてあります。(残念ながらHerokuボタンについては掲載されていません)
関連記事:
・WebアプリケーションをIntelliJ IDEAからHerokuへデプロイする #herokujp #jbugj – #侍ズム
・Java WebアプリケーションをHerokuへデプロイする #herokujp – #侍ズム
・Getting Started with Java on Heroku | Heroku Dev Center
・RedPen を公開しました (ベータバージョン) | Advanced Technology Lab
・社内共有会で使用した RedPen 資料と進捗 | Advanced Technology Lab