第3章 FHC の使用

以下では、同じテンプレートに基づいて新しいプロジェクトを作成する方法について説明します。

fhc は、ローカルマシンにプロジェクトをクローンするために使用されます。npm は、ローカル開発向けの依存関係をインストールするために使用されます。Grunt は、ブラウザー内での開発のために新しいハイブリッドクライアントと Node.js クラウドアプリをローカルで起動するために使用されます。

動画チュートリアル

前提条件

3.1. FHC での RHMAP ドメインのターゲット設定

最初に fhc を使って RHMAP ドメインにターゲット設定 (接続) する必要があります。

コマンドラインアプリケーション (たとえば、Linux または MacOS の場合はターミナル、Windows の場合はコマンドプロンプト) を開きます。

<domain-url> をご使用のドメインの URL に置き換えてそのドメインをターゲットにします。

fhc target <domain-url>

次に RHMAP 認証情報を入力します。以下のコマンドで <email or alias> をユーザー名もしくはメールアドレスで置換して、実行します。

fhc login
Username : <email or alias>

パスワードを入力します。

Password : <enter password>

これでターゲットとする RHMAP ドメインにログインできました。

3.2. 新規プロジェクトの作成

以下では、hello_world_project テンプレートをベースとした新しいプロジェクトを作成する方法について説明します。

利用可能なプロジェクトテンプレートを一覧表示するには、以下のコマンドを実行します。

fhc templates projects

project name を、選択したプロジェクト名に置き換えて、以下のコマンドを実行します。

注記

テンプレート hello_world_project の名前をパラメーターとして渡してください。

fhc projects create <project name> hello_world_project

成功すると、以下のようにすべてのプロジェクト情報とともに JSON 応答が表示されます。

{
  "type": "PROJECT",
  "template": null,
  "sysCreated": 1397636395777,
  "guid": "jJHtgZXQPJxXDFJO2pQzMP-d",
  // ...
  "apps": [
    {
      "type": "client_hybrid",
      "description": "",
      "domain": "testing",
      "template": null,
      "email": "joebloggs@feedhenry.com",
      //...
    }
  ],
  "templateId": "default",
  "jsonTemplateId": "hello_world_project"
}
重要

guid を書き留めてください、以下のステップで使用します。

プロジェクト情報を見直す必要がある場合は、以下のコマンドを入力します。project guid を前のステップの guid で置き換えます。

fhc projects read <project guid>

このコマンドは、前のステップで示された JSON オブジェクトを返し、これにはプロジェクトの全情報が含まれます。

プロジェクトをローカルマシンにクローンします。project name を、選択したプロジェクト名に置き換え、project guid を JSON オブジェクトからの guid で置き換えます。

mkdir <project name> ; cd <project name> ; fhc projects clone <project guid>

MBaaS の例またはクラウドアプリを確認するために、project name をご使用のプロジェクト名に置き換えます。

cd <project name>-Hello-World-MBaaS-Instance ; ls -l

クラウドアプリの依存関係をインストールします。

npm install

-g フラグを使って grunt CLI をインストールし、grunt をグローバルでインストールします。

[sudo] npm install -g grunt-cli

これでクラウドアプリのインスタンスをローカルマシンにデプロイする準備ができました。

3.3. クラウドアプリのデプロイ

クラウドサーバーをローカルで起動するには、以下のコマンドを実行します。

grunt serve

コンソールに、クラウドアプリがローカルマシンの port 8001 で実行されていることを示す情報が表示されます。

ローカルマシンで以下の curl 要求を入力して、クラウドインスタンスが実行中であることを確認します。

curl http://localhost:8001/cloud/hello?hello=world

以下のような応答が表示されるはずです。

{
  "msg":"Hello world"
}

この curl で上記のような応答が返されると、クラウドアプリがローカルで実行されていることが確認できます。

3.4. クライアントアプリのデプロイ

以下のコマンドはチェーンコマンドであることに注意してください。最初の部分では、ディレクトリーツリーの 1 つ上のレベルに移動します。2 番目の部分では、1 つ下のレベルのクライアントディレクトリーに移動します。

project name をプロジェクト名で置き換え、以下のコマンドを実行します。

cd .. ;  cd <project name>-Hello-World-Client ; ls -l

クライアントアプリ用のすべての依存関係をインストールします。

npm install .

クライアントアプリをローカルで実行します。

grunt serve:local

成功すると、ウィンドウがデフォルトのブラウザーで開きます。

3.5. サマリー

Platform ではすべての Git レポジトリーがホストされます。プロジェクト内の各アプリには独自の Git レポジトリーがあります。通常の Git 作業とプロセスは、クライアントアプリまたはクラウドアプリの例に移動することにより実行されます。

これで RHMAP プロジェクトをローカルで開発する設定が整いました。