前回某@stomita氏に反則だと怒られてしまったので、今回はもう少しまともに書きます。from サモア諸島
みなさん、Cloud9IDE使ってますか?
いわゆるブラウザ上でコードの編集が出来るクラウド型のIDEなんですが、こいつがHeroku使ってるNoderに取っては中々イイです。以下その理由:
- ブラウザベースなので、どこでもどの端末でもすぐ自分の環境で開発できる
- Vimモードがある(最近付いた)
- Node.jsの実行とDebugが単体で出来る
- コマンドコンソールがあってGitとか統合されてる
というわけでブラウザIDE時代来たなといった感じです。
言わずもがなForce.comもブラウザ上で全て操作できますし、Cloud9IDEに至ってはコードのバージョン管理まで全てブラウザ上から可能なので、とにかくForce.com(Database.com) + NoderはE○lipseとか窓から投げ捨てても大丈夫(多分)です。
またHerokuと連携しているので(まぁ別に連携して無くてもコマンドラインからgit pushすりゃいいんですが)、比較的GUIから簡単にherokuアプリを動作させられます。
せっかくなんで Heroku(Node.js) -> Force.comのアプリケーションをCloud9で動作確認してHerokuにDeployしてみましょう。
1, Github物色 & Cloud9IDEにClone
GithubにNode.jsでOAuthからForce.comにつながるサンプルプログラムを公開しています。
https://github.com/joshbirk/FDC-NODEJS-HEROKU
今回コレを使っていきます。
Cloud9IDEへの取り込みは、プロジェクトメニューから、+ボタンで"Clone from url"でgitリポジトリのURL入力すればサクっと行けます。
ちなみに
こんなものもあったりします。
プロジェクトが出来上がったら、とりあえずrunボタンを押せば、
http://
.<ユーザ名>.cloud9ide.com/
にアプリケーションが起動します。
アクセスすると、Cloud9IDE側のコンソールにアクセスログ(デバッグ出力)が出てくるのがわかります。
2, Herokuアプリ作成 & Force.com OAuth2設定
次にHerokuのアプリケーションを作成します。Herokuのアプリケーション作成もCloud9IDEから出来ます。左のメニューからDeployを選択して、herokuのID/PWを入力すると、既存のアプリケーション一覧を取ってきます。
ここでCreate newをクリックして名前を入力すれば、Heroku アプリケーションをCloud9IDEが新規で作ってくれます。Node.jsを動かす前提なので、StackはCedarを使うようになっています。
さらに、このアプリケーションはOAuth2を使ってForce.com(Database.com)に接続するので、【設定】->【開発】->【リモートアクセス】から、OAuth2 Token及びSecretを発行します。
コールバックURLには https://<作成したHerokuアプリ名>
.herokuapp.com/token を入力します。
あとはCloud9IDEで oauth/oauth2.jsの中の4,5行目にあるpublicKeyとprivateKeyの値を、先ほどForce.com側で発行したTokenとSecletで書き換えます。
また7行目のcallbackURIの値も https://<作成したアプリ名>
.herokuapp.com/token に書き換えます。
3, Herokuの設定 & Deploy
これでアプリケーションを動かす準備ができたので、最後にHerokuアプリをHTTPSで動かす為にAdd-onを追加します。CUIからでもいいんですが、今回ブラウザにこだわってるのであくまでブラウザでいきます。
http://api.heroku.com/ にアクセスしてログインし、先ほど作成したアプリケーションをクリックします。
右側のAdd-onsタブを開いて、Get More Add-ons... をクリックします。
するとAdd-onページが開かれるので、SSLのAdd-onからPiggyback SSLを選択してアプリケーションに追加します。
最後に、Cloud9IDEから、Herokuに対してコードのdeploy(git push)を行います。
Deployタブに、既に先ほど設定したアプリが表示されているので、DEPLOYボタンを押します。
コンソールにDeployのログが表示され、Successとでれば完了です。
4, 動作確認
https://
<作成したHerokuアプリ名>.herokuapp.com/ にアクセスして、アプリケーションを動かしてみてください。
5, まとめ
- Cloud9IDEならブラウザだけで全て開発できる
- Force.com/Database.comはブラウザだけで全てコントロールできるクラウドDB
- ブラウザで全部開発できる Development in the cloud
このエントリーは、
Force.com Advent Calendar 2011 12/15 の記事です。