JavaScriptでWebアプリを開発できる「Node.js」活用入門 6ページ

Node.jsアプリケーションをCloud9 IDE経由でWindows Azure環境にデプロイする

 Node.jsアプリケーションをWindows Azure環境で動作させる方法としては、まず「Windows Azure SDK for Node.js」を利用する方法がある。これはMicrosoftが公式に提供しているデプロイ/管理ツールで、Node.js本体やNode.jsをWindows AzureにデプロイするためのPowerShellスクリプトなどが含まれている。これらを利用する場合、当然ながらWindows環境が必要となる。

 一方、Windows環境を必要としない方法として、Cloud9 IDEを使用するものがある。今回はこのCloud9 IDEを利用して、Windows Azure環境にNode.jsアプリケーションをデプロイする方法を解説する。

 なお、Windows Azure SDK for Node.jsを利用する方法についてはMicrosoftのWebサイトにてWindows Azure向けのNode.js Webアプリケーション開発に関するチュートリアルが公開されているので、そちらを参照していただきたい。

Webブラウザで動作する統合開発環境「Cloud9 IDE」

 Cloud9 IDEは、Node.jsアプリケーション開発に向けた統合開発環境だ。最大の特徴は、Webブラウザ上で動作するという点である(図19)。

図19 Webブラウザ上で動作するCloud9 IDE
図19 Webブラウザ上で動作するCloud9 IDE

 Cloud9 IDEではWebブラウザ上でファイルやディレクトリの作成や編集といった操作が行えるほか、各種コマンドを実行できるコンソールやgitによるバージョン管理機能などを備えている。

 今回はローカルで作成したNode.jsアプリケーションをgitリポジトリ経由でCloud9 IDE上で編集可能にし、さらにそこからWindows Azure環境にデプロイする方法を紹介する。

 なお、Cloud9 IDEは月15ドルの有料版である「Premium」アカウントと、無料版で利用できる「Standard」アカウントが用意されている。両者の違いは「プライベートなリポジトリが作成できるかどうか」であり、オープンソースソフトウェアの開発であれば無料版のStandardアカウントで十分に利用できる。

Cloud9 IDEのアカウントを作成する

 Cloud9 IDEを利用するにはアカウントの作成が必要だ。アカウントの作成は、Cloud9 IDEのトップページに表示されている「Sign up」ボタンから行える(図20)。

図20 Cloud9 IDEのアカウント作成はトップページの「Sign up」ボタンから行える
図20 Cloud9 IDEのアカウント作成はトップページの「Sign up」ボタンから行える

 「Sign up」ボタンをクリックすると「Standard」および「Premium」アカウントのどちらを作成するかを選択する画面が表示されるので、作成するアカウントを選択する。続いてユーザー名やメールアドレスなどの登録情報を入力し、登録したメールアドレス宛に送信された確認メールに記載されたURLをクリックするとアカウントの認証が完了する(図21)。

図21 Standard版アカウントの場合、登録に必要なのはユーザー名とメールアドレスのみだ。ここで入力したメールアドレス宛に確認メールが送信され、そこに記載されたURLにアクセスしてパスワードを設定する
図21 Standard版アカウントの場合、登録に必要なのはユーザー名とメールアドレスのみだ。ここで入力したメールアドレス宛に確認メールが送信され、そこに記載されたURLにアクセスしてパスワードを設定する

公開Gitリポジトリからプロジェクトを作成する

 Cloud9 IDEでは、ほかのIDEと同様、プロジェクトという単位でファイルを管理する。プロジェクトはCloud9 IDE内でゼロから作成できるほか、外部の公開Gitリポジトリをクローンして作成することも可能だ。今回は、SourceForge.JPが提供している個人用リポジトリサービス「PersonalForge」のGitリポジトリからクローンを行う例を紹介しよう(図22)。

図22 SoucrForge.JPが提供している個人用リポジトリサービス「PersonalForge」
図22 SoucrForge.JPが提供している個人用リポジトリサービス「PersonalForge」

 まず、PersonalForgeの「一覧/追加/削除」ページでクローン元リポジトリのURLを確認する。(図23)。

図23 PersonalForgeの「一覧/追加/削除」ページでリポジトリのURLを確認できる
図23 PersonalForgeの「一覧/追加/削除」ページでリポジトリのURLを確認できる

 PersonalForgeのGitリポジトリでは「読み込み専用」および「読み書き可能」の2種類のURLが提供されているが、筆者が試したところ「読み書き可能」のURLではアクセスが行えなかったため、今回は「読み込み専用」のURLを使用している。

 次に、Cloud9 IDEのDashboard画面で「MY PROJECTS」横の「+」ボタンをクリックし、「Clone From URL」をクリックする(図24)。

図24 Cloud9 IDEのDashboard画面で「Clone From URL」をクリックする
図24 Cloud9 IDEのDashboard画面で「Clone From URL」をクリックする

 クローン元URLを入力する画面が表示されるので、テキストボックスにリポジトリのURLを入力し、「CHECKOUT」をクリックする(図25)。

図25 テキストボックスにリポジトリのURLを入力し、「CHECKOUT」をクリックする
図25 テキストボックスにリポジトリのURLを入力し、「CHECKOUT」をクリックする

 これでリポジトリのクローンが実行され、プロジェクトが作成される(図26)。

図26 リポジトリのクローンが完了するとプロジェクトが作成される。
図26 リポジトリのクローンが完了するとプロジェクトが作成される。

 ここで「START EDITING」をクリックすると、プロジェクトの編集や各種操作が可能となる(図27)。

図27 Cloud9 IDEのプロジェクト画面
図27 Cloud9 IDEのプロジェクト画面

Windows Azure向けにコードを修正する

 Windows AzureではNode.jsのほぼすべての機能が利用できるが、いくつか制限もある。まず、メインのスクリプトはルートディレクトリ内の「server.js」である必要がある。

 expressを使用したアプリケーションの場合、デフォルトではメインのスクリプトは「app.js」というファイル名になっているはずなので、これを「server.js」にリネームしておく。リネームはCloud9 IDEのサイドバーで「Project Files」をクリックし、続けて「app.js」を右クリックして表示されるメニュー内「Rename」をクリックすれば良い(図28)。

図28 「Project Files」ペインで「app.js」を右クリックするとメニューが表示される。続けて「Rename」をクリックし、ファイル名を「server.js」に変更する
図28 「Project Files」ペインで「app.js」を右クリックするとメニューが表示される。続けて「Rename」をクリックし、ファイル名を「server.js」に変更する

 また、待ち受けに使用するポートは「PORT」環境変数から取得して設定しなければならない。これについては、server.jsを修正し、「process.env」オブジェクトから「PORT」要素を取得してその値をlisten関数の引数に指定するようにすれば良い(図29)。

// PORT環境変数の値を取得し、listenの引数として与える
var port = process.env.PORT;

app.listen(port, function(){
  console.log("Express server listening on port %d in %s mode", app.address().port, app.settings.env);
});
図29 変更後のコード
図29 変更後のコード