イントロ
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でアプリケーションを作成するには、コンソールに書き込む必要があります。( appname-この場合、アプリケーションの名前。何でもかまいません)dotcloud create appname
まあ、Dotcloudでアプリケーションを直接プッシュする
デプロイが成功すると、アプリケーションにアクセスするためのwwwアドレスが発行されます。dotcloud push appname ~/path-to-node-app/
Deployment finished successfully. Your application is available at the following URLs
www: d07c100d.dotcloud.com
他にできること
独自のドメイン名を使用します。これを行うには、 DNSレコードCNAME gateway.dotcloud.comを登録する必要があります。 対応するドメインの。 Dotcloudアプリケーションにエイリアスを追加します。
SSH経由で接続することもできますdotcloud alias add appname.www www.example.com
dotcloud ssh appname.www
コマンドの完全なリストは、 公式Webサイトの詳細なドキュメントで入手できます。