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サイトの詳細なドキュメントで入手できます。


Source: https://habr.com/ru/post/J125375/


All Articles