Murayama blog.

プログラミングと、その次の話

Parse - Cloud Code - Command Line Tool

参照元
https://parse.com/docs/cloud_code_guide#clt

Command Line Tool

ここまでクラウド上にコードをデプロイするParseのコマンドラインツールを見てきました。コマンドラインツールには、他にも幾つか役に立つものが用意されています。コマンドラインツールのインストール手順については、Installing the Toolを参照してください。

Introduction

Parseでは、同じコードを複数のアプリケーションにデプロイできます。これにより、"development"アプリケーション、"production"アプリケーションのような使い分けが可能です。開発中のコードをproductionアプリケーションとして配布する前に、developmentアプリケーションでテストできます。

parse newコマンドで指定したアプリケーションが1つ目のデフォルトアプリケーションとなります。parse newコマンドを除くすべてのコマンドはアプリケーション名を引数にとることができます。

Deploying

新しいリリースをデプロイするには次のように実行します。

$ parse deploy
New release is named v1

この結果、新しいコード(cloud/main.js)がParseクラウドにPUSHされ、デフォルトアプリケーションにデプロイされます。追加した別のアプリケーションをターゲットとしてデプロイする場合は次のように実行します。

$ parse deploy "My Other App"
New release is named v2

リリース時に-d、--descriptionオプションを指定してリリースノートを追加することもできます。

自動テストやデプロイといった他のスクリプトにparse deployコマンドを埋めることもできます。Parseコマンドラインツールは、コマンドの実行結果をexit codeとして返します。コマンドが正常に終了した場合は、exit codeに0が返ります。デプロイに失敗した場合は0以外の値が返ります。

Developing Cloud Code

developコマンドを使えばdevelopmentモードでコマンドラインツールを実行できます。developmentモードは、ログファイルを監視するようにソースディレクトリを監視し、アップデートを検出するとParseにデプロイします。

$ parse develop development
E2013-03-19:20:17:01.423Z] beforeSave handler in release 'v1' ran for GameScore with the input:
  {"original": null, "update":{"score": 1337}}
 and failed validation with Each GamesScore must have a playerName
New release is named v58
I2013-03-19T20:17:10.343Z] Deployed v58 with triggers:
  GameScore:
    before_save

他のコマンドと違って、developコマンドはPUSH対象のアプリケーション名を必ず指定する必要があります。これは、誤ってテストしていないコードをproductionアプリケーションに適用しないようにするためです。

Add a New Target

addコマンドを実行することで、新しいparseアプリケーションをターゲットとして追加できます。このコマンドは、Parse.comに登録したEメールアドレスとパスワードを要求します。それらを入力すると選択可能なアプリケーションのリストが表示されます。

$ parse add
Email: pirate@gmail.com
Password:
1:PiecesOfEightCounter
2:BootyDivider
Select an App: 1

addコマンドには、オプション引数でアプリケーションのエイリアスを指定できます。このエイリアスは、アプリケーション名の代用として利用できます。

ほとんどのケースで、設定情報はglobal.jsonファイルに記録されます。しかし、チームの他のメンバーとシェアしたくない開発用のアプリケーションが必要なこともあるでしょう。そのような場合は、--localフラグを使うと、local.jsonファイルに記録することができます。global.jsonファイルはソース管理下に置き、local.jsonはローカルマシン内でのみ使用すると良いでしょう。

Rolling Back

parse rollbackを使うとリリースをロールバックできます。parse deployと同じようにオプション引数でターゲットを指定できます。

$ parse rollback
Rolled back to v1

こうすることで、コードを1つ前のバージョンにロールバックできます。-r、--release=オプションを使えばリリース名を指定してロールバックすることもできます。

Reading the Logs

すべてのデプロイ、ロールバック、Cloud Codeのアクティベーションはログとして残ります。parse logコマンドを使えば、最新のログを取得できます。ログには2つの種類があります。

  • INFO - すべてのログを含みます。
  • ERROR - エラーログだけを含みます。

logコマンドはオプションでターゲットを引数にとります。また3つのオプションがあります。

  • -n - 表示するログの行数(デフォルトは10行)
  • --level/-l - ログレベルを指定(デフォルトはINFO)
  • -f - tail -fのように振る舞う
$ parse log -n 1
I2012-07-10:13:37:00] beforeSave handler in release 'v1' ran for GameScore with the input:
  {"original": null, "update":{"score": 1337}}
 and failed validation with Each GamesScore must have a playerName

Listing Releases

releasesコマンドを使うと、Parseクラウドへのリリース履歴がリスト表示されます。Parseは最新の10件のリリースのみ記録しています。

Setting the SDK version

開発ディレクトリにおいて、Cloud Codeを利用する際のデフォルトのParse JavaScript SDKバージョンは、newコマンドを実行した時点の最新バージョンです。このバージョンを変更したい場合は、config/global.jsonのparseVersionを変更してください。