Server Code の管理

サーバー機能拡張の管理作業のため、Kii Cloud では コマンドラインツール を提供しています。

コマンドラインツールの利用

コマンドラインツールを使うと、サーバー機能拡張の管理に関連して、開発用 PC から以下のような操作を行うことができます。使用方法の詳細は Server Code を管理する をご覧ください。

  • Server Code および Server Hook 設定ファイルの設置

    開発 PC 上に準備した Server Code(JavaScript のプログラムソース)と、Server Hook 設定ファイル(JSON ファイル)を Kii Cloud にアップロードします。逆にダウンロードすることもできます。

  • バージョンの管理

    登録された Server Code と Server Hook 設定ファイルをバージョン管理し、特定バージョンの有効化や削除などの操作を行います。バージョン管理の詳細は、下記の Server Code のバージョン管理 で説明します。

  • 開発者ログの参照

    コマンドラインツールを使うと、Server Code からデバッグ用に出力されたログを参照できます。Server Code からの API による出力方法の詳細は 開発者ログへの出力 を参照してください。

    なお、このログの参照機能はサーバー機能拡張専用のものではなく、クライアント SDK からの実行結果も含まれています。使用方法全般については、開発者ログの閲覧 をご覧ください。

  • スケジュール実行履歴の参照

    コマンドラインツールから、Server Hook(スケジュール起動)の実行結果を取得できます。自動実行が成功したかどうかや、Server Code からの戻り値を確認できます。詳細は スケジュール実行の結果取得 をご覧ください。

なお、攻撃者による不正なサーバー機能拡張の操作を防止するため、コマンドラインツールの使用には ClientID と ClientSecret が必要です。これらはアプリケーションの管理者だけが持つ アクセスキー です。

Server Code のバージョン管理

Kii Cloud では、Server Code と Server Hook 設定ファイルのセットを 1 つのバージョンとして管理する機能を提供しています。過去のバージョンへの切り替えもコマンド 1 つで実行できるため、Server Code に不具合が発見されたときに、迅速に過去のバージョンに戻すことができます。

バージョンの登録や切り替えの単位は、Server Code が記述された JavaScript ファイル 1 つと、Server Hook 設定ファイル 1 つのセットです。Server Code が複数のエンドポイントを持つ場合や、Kii Cloud で提供されていないライブラリを利用する場合、これらのソースコードを 1 つのファイルにまとめて登録します。同様に、対応する Server Hook 設定ファイルも 1 つのファイルにまとめて登録します。ただし、手動実行だけを使用する場合は、Server Hook 設定ファイルは不要です。

Kii Cloud 上の特定のアプリケーションは、開発や保守の状況に応じて、複数のバージョンを扱います。この際、バージョンの 1 つを実行対象のバージョンとして有効化できます。実行対象となったバージョンは、モバイルアプリからの手動実行や、トリガーによる自動実行の対象となります。特定のバージョンを有効化すると、他のバージョンは無効化されます。

Server Code と Server Hook 設定ファイルを Kii Cloud に登録すると、Kii Cloud からはバージョンを表す gulsdf6ful8jvf8uq6fe7vjy6 のようなコードが発行されます。有効なバージョンを切り替えたり、登録済みのバージョンを削除したりする場合はこのコードを使用します。

JavaScript エンジン

Kii Cloud では、Server Code の実行に使用している JavaScript エンジン(Node.js)を定期的にバージョンアップしています。更新スケジュールは、コミュニティなどでご案内します。

JavaScript エンジンが更新されると、JavaScript の詳細な文法や、Node.js が提供している ライブラリー の仕様が変わることがあります。これにより、詳細な動きが変わったり、Server Code が実行エラーを起こしたりすることがあります。実行エラーが発生した際は、手動実行の結果として受け取るエラーコード、自動実行の実行履歴、開発者ログなどで知ることができます。

Server Code の実装が JavaScript エンジンのバージョンの影響を受けない場合は、特別な操作を行う必要はありません。Kii Cloud 側でデフォルトの JavaScript エンジンが切り替わると、新しい環境への移行が自動的に行われます。ただし、安定した運用のためには、移行準備期間に、新しい JavaScript エンジンでの動作をテストしておくことをおすすめします。

利用できる JavaScript エンジンの実績と計画は以下のとおりです。移行準備期間では、それまで利用されていた JavaScript エンジンをデフォルトとしたまま、新しい JavaScript エンジンを併用できます。この期間中に Server Code の評価を行ってください。移行完了時には、新しい JavaScript エンジンに完全に切り替わります。

将来も、新しい JavaScript エンジンへの切り替えが順次行われる予定です。

期間 日程 利用可能なバージョン
移行準備期間 ~2017/10/31 Node.js 0.10.X(デフォルト)、Node.js 6.X
移行完了 2017/10/31~20XX/XX/XX Node.js 6.X(デフォルト)
移行準備期間 20XX/XX/XX~ Node.js 6.X(デフォルト)、新バージョン A
移行完了 その数ヶ月後 新バージョンA(デフォルト)
…… …… ……

なお、JavaScript エンジンとして Node.js 6.X 以降を使用しても、JavaScript の文法として ES6 の仕様はサポートされません。ES5 の仕様のみサポートされます。

JavaScript エンジンの設定

Server Code の実行に使用する JavaScript のエンジンは、Server Code のバージョンごとに設定できます。登録時に JavaScript エンジンのバージョンが指定されていない場合は、Server Code の実行時点で Kii Cloud にデフォルト設定されている JavaScript エンジンが使用されます。

移行準備期間において、最新の JavaScript エンジンをテストするには、実行対象のバージョンとして有効化している Server Code と Server Hook 設定ファイルを、最新の JavaScript エンジンを指定して再登録してください。

なお、REST API から Server Code を手動実行する場合には、JavaScript エンジンのバージョンをパラメーターで指定することもできます。パラメーターでの指定があると、Server Code に設定済みの JavaScript エンジンのバージョンは無視されます。

使用される JavaScript エンジン

Server Code の実行時に使用する JavaScript エンジンは、以下のルールによって決まります。

  • Server Code の手動実行では、パラメーターで JavaScript エンジンを指定して実行できます。ただし、その JavaScript エンジンが現在の Kii Cloud の環境で使用できない場合、REST API はエラー応答します。

  • 自動実行の場合や、手動実行で JavaScript エンジンの指定がない場合、Server Code のバージョンごとに設定された JavaScript エンジンを使用します。ただし、設定がない場合や、設定された JavaScript エンジンが現在の Kii Cloud の環境で使用できない場合は、デフォルトの JavaScript エンジンが使用されます。