昨年末でしたね。SalesforceがHerokuを買収しました。
セールスフォース・ドットコム、Heroku社買収の最終合意に署名 - salesforce.com 日本
Heroku自体興味はあったけど、Rubyistじゃないからな~。AppEngineもな~。とかとか。あ、Herokuってあれっす。あれあれ。Rubyのホスティング。PaaS。いいよね~。
来週からMIX11が始まるっていうのに、まだmvcConfのビデオを見てるのんびり屋さんですが、面白いのありました。
mvcConf 2 - Troels Thomsen: Deploy ASP.NET MVC with No Effort | mvcConf | Channel 9
EC2をプラットフォームにした.NET向けのPaaS「AppHarbor」。スゴイんすよ。リポジトリにgit使うんですけど(初めてのgit読まねば)、commitすると向こうでビルドが走って、テスト実行して、デプロイまでやってくれるんすよ。とにかく無料で1アプリ公開できるから試してみた。あ、アプリは作ってないです。MVCのテンプレートそのままです。
手順はナニも難しいことはなくてですね、AppHarborにアカウント作って、アプリ作ると最初の画面に「これで出来るぜ」っていうコマンドが一覧で表示されるから、そのまま入力するだけです。
準備としてはGit使えるようにmsysGitいれとくだけです!
Help.GitHub - Set Up Git (Windows)
それも、ダウンロードして後はデフォルトのままクリッククリック。Git Bashってなんかカッコイイ。ハッカーな雰囲気を味わえる。そんな雰囲気を味わいたいからTortoiseGitを使わないオレ。まさに海賊王にふさわしい男気を感じる。ちっちぇ。
git push(知ったかぶりだぜ!)するとAppHarborの管理画面に状況が表示されます。.gitignoreはつくっといたほうがいいです。
プロジェクトじゃなくてソリューションを追加して、標準のテストプロジェクトも入ってるんだけど、そのテストも実行されて、OKだったらデプロイ。試しにテスト失敗させるためにテストに以下のコードを追加。
using Microsoft.VisualStudio.TestTools.UnitTesting; namespace AppHarbor.Takepara.Tests { [TestClass] public class SomeTest { [TestMethod] public void TestMethod1() { Assert.AreEqual(0, 1); } } }
身も蓋もない...。
んで、push(そのまえにadd,commitも忘れずに)!
ビルド中~。
テスト失敗!
詳細見てみると確かにテスト失敗。コレを直して、再度push。
ちゃんと成功すればデプロイまで行ってアプリケーションが動作します。
動いてるのも見たいよね。どうぞ、こちらです。
dyno(Herokuのコンピューティングパワーの単位)の追加とかどうするのかよくわかってないけど、そもそもそういう概念がないのかも?
Load barancingもサービス範囲内。今回DB使ってないけど、せっかくなので後で無料の20MB枠を使ってAccountコントローラも動作するようにしてみようかな。どうしようかな。環境設定を書き換えてくれる特殊なconfig変換があるので、connectionStringなんかはデプロイ時によしなになるようです。
パッと見ですよ、アプリケーション領域としての容量制限とか特に書かれてないわけですよ。DBは無料20MBだとしても。
ということはですね、あれです、単純にサイトを公開したいだけなら無料ですよ!gitとかVS2010でのプロジェクト形式というハードルがあるとはいえ、無料ですよ。後はAppHarborさんたちが頑張ってくれるんですよ。このエントリは中身が薄いけど、AppHarborは凄まじく濃くて、魅力的なサービスです。
AppHarbor(Azure以外の.NET PaaS、AppEngine for .NETでもよろし)がどこまで行けるのか目が離せないですね!
調子にのってvimで.gitignoreやろうとして全くコマンドが分からなかったのは恥ずかしくて言えね。