Nodejsアプリをdotcloudにデプロイする

イントロ

Dotcloudは、クラウドベースのアプリケーション展開プラットフォームです。 DotCloudスタックには、Node.JSを含む10以上の異なるサービスが含まれています。



DotCloudに対する私の第一印象は非常にポジティブでした。 アプリケーションのデプロイ方法をほとんど忘れて、コードに完全に集中できます。 展開作業は、 DotCloud CLIのインストールとdotcloud.yml環境ファイルのセットアップになります 。 Linux / MacOSでのクライアントインストールは簡単です。

sudo easy_install pip && sudo pip install dotcloud





展開の準備

Dotcloudにアプリケーションをデプロイするには、アプリケーションがアクセスできるサービスを記述するdotcloud.ymlファイルが必要です。 リンクでアプリケーションの完全なリストを見ることができます。 Node.JS + Redisスタックにアクセスするには、dotcloud.ymlファイルは次のようになります。

www:

type: nodejs



data:

type: redis






Node.JS上のアプリケーションが追加のパッケージを使用する場合、 package.jsonファイルを使用できます。このファイルでは、他のパッケージへの依存関係を指定できます。 パッケージは展開中に自動的にインストールされます。 package.jsonファイルの例:

{

"engines" : {

"node" : ">=v0.4.5"

},

"dependencies" : {

"redis" : ">=0.6.6" ,

"express" : ">=2.4.2"

}

}






Node.JSでアプリケーションを自動的に起動するには、 supervisord.confという3番目のファイルを作成し、その中にスタートアップパスを指定する必要があります。

[program:node]

command = node index.js

directory = /home/dotcloud/current








environment.jsonを使用する

dotcloud.ymlファイルで指定されたサービスのスタックへのアクセス非常に簡単です。 アプリケーションをホームディレクトリにデプロイすると、サービスにアクセスするための情報を含むenvironment.jsonファイルが作成されます。 このファイルを使用すると、手動設定を気にせずにデータベースの設定を自動的に使用するようにアプリケーションを構成できます。 dotcloud.ymlファイルでデータベースとしてRedisを指定し、 dataという名前を付けたため、Node.JSのアプリケーションからRedisの設定を取得するには、次のように記述します。

var envfilepath = '/home/dotcloud/environment.json' ,

environment = JSON.parse(require( 'fs' ).readFileSync(envfilepath));



var host = environment[ 'DOTCLOUD_DATA_REDIS_HOST' ],

port = environment[ 'DOTCLOUD_DATA_REDIS_PORT' ],

pass = environment[ 'DOTCLOUD_DATA_REDIS_PASSWORD' ];






展開

Dotcloudでアプリケーションを作成するには、コンソールに書き込む必要があります。

dotcloud create appname



appname-この場合、アプリケーションの名前。何でもかまいません)

まあ、Dotcloudでアプリケーションを直接プッシュする

dotcloud push appname ~/path-to-node-app/



デプロイが成功すると、アプリケーションにアクセスするためのwwwアドレスが発行されます。

Deployment finished successfully. Your application is available at the following URLs

www: d07c100d.dotcloud.com







他にできること

独自のドメイン名を使用します。

これを行うには、 DNSレコードCNAME gateway.dotcloud.comを登録する必要があります 対応するドメインの。 Dotcloudアプリケーションにエイリアスを追加します。

dotcloud alias add appname.www www.example.com



SSH経由で接続することもできます

dotcloud ssh appname.www





コマンドの完全なリストは、 公式Webサイトの詳細なドキュメントで入手できます。



All Articles