グルチャ

node.jsをpivotal.ioにデプロイしよう

pivotal.ioのデプロイはgitを使わず、CF CLIという独自ツールを使うので、ちょっと特殊である。
使い方が分からなかったので備忘録メモ。
ローカル環境はCentOS 6.5とする。
 

CF CLIのインストール

参考文献:Set Up Your PWS Account and Download the CF CLI
上記の参考文献を参考にCentOS用のrpmをダウンロードしてインストール。
 

CF CLIにログイン

CentOSの端末から下記の通り入力する。

$ cf login -a https://api.run.pivotal.io
Email: user@example.com
Password: ••••••••

 

manifest.ymlの作成

参考文献:
Tips for Node.js Applications Application Bundling
PaaS基盤「Cloud Foundry V2」内部で使われるBuildpack、Wardenコンテナの仕組みとは?(前編)

デプロイしたいアプリのカレントディレクトリにmanifest.ymlを作成する。
内容は下記の通り。

---
applications:
- name: my-app
  buildpack: https://github.com/cloudfoundry/heroku-buildpack-nodejs.git
  command: node server/app.js

my-appはアプリ名である。urlにも使われるので他のアプリとかぶらない名前を付ける必要がありそう。
buildpackはこのURLで固定。
commandはnodeで立ち上げたいソースコードを指定。
 

.cfigunoreの作成

デプロイに含めたくないファイルがある場合は.cfigunoreに書き込む。
.gitigunoreの書式と全く同じ。
以下に例を示す。

.git
.sass-cache
.tmp
.idea
/dist
/e2e
/node_modules/bower
/node_modules/*grunt*
/node_modules/open
/node_modules/*jshint*
/node_modules/*karma*
/node_modules/requirejs
/node_modules/supertest
/node_modules/should
/node_modules/*imagemin*
/public
/.buildignore
/.editorconfig
/.gitattributes
/.gitignore
/.travis.yml
/.yo-rc.json
/.cfignore
/Gruntfile.js
/karma.conf.js
/protractor.conf.js
/manifest.yml

 

デプロイ

デプロイしたいアプリのカレントディレクトリから下記の通り入力する。

cf push my-app

下記のように処理が進めば成功。

Using manifest file /home/user/my-app/manifest.yml

Updating app my-app in org user-name / space development as user@exsample.com...
OK

Uploading my-app...
Uploading app files from: /home/user/my-app
Uploading 25.8M, 4613 files
Done uploading               
OK

Starting app my-app in org user-name / space development as user@exsample.com...
-----> Downloaded app package (13M)

...(node_modules内のパッケージなどをインストール)

1 of 1 instances running

App started


OK

App my-app was started using this command `node server/app.js`

Showing health and status for app my-app in org user-name / space development as user@exsample.com...
OK

requested state: started
instances: 1/1
usage: 1G x 1 instances
urls: my-app.cfapps.io
package uploaded: Sun Jan 18 01:10:58 +0000 2015

     state     since                    cpu    memory      disk   
#0   running   2015-01-18 10:11:53 AM   0.0%   77M of 1G   59.1M of 1G   

あとはmy-app.cfapps.ioにアクセスするとアプリが表示される。
 

おまけ:環境変数の設定

環境変数の設定が必要な場合は、pivotal.ioのコントロールパネルからアプリを指定してEnv Variablesタブから設定する。
 


Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Time limit is exhausted. Please reload CAPTCHA.