開発ツール

C8Yコマンドラインツール (CLI)

アプリケーションのブートストラップ、実行、デプロイをサポートするためにCLI(コマンドライン インターフェース)が用意されています。このCLI は cumulocity-node-tools の後継です。2 つの CLI の衝突を防ぐために、CLI では c8y の代わりに c8ycli という新しいコマンドを使用しています。以下のように npm でインストールできます。

npm install -g @c8y/cli

使用方法

c8ycli [options] [command]
備考
コマンドはプロジェクトのルートパスから実行する必要があります。

オプション

    -u, --url <url>                 リモートインスタンスのURL
    --version                       バージョン番号の表示
    -h, --help                      使用法の表示

コマンド

new以外のすべてのコマンドは、glob patternsの配列を取ります。これらはフォルダもしくはエントリポイント マニフェストによって解決されます。

    new [name] [template]                   新しいアプリケーションもしくは既存のアプリケーション拡張のためにフォルダを作成する
    serve [options] [appPaths...]           ローカルの開発サーバーを立ち上げる
    build [options] [appPaths...]           特定のアプリケーションをビルドする
    deploy [options] [appPaths...]          特定のパスからアプリケーションをデプロイする
    locale-extract [options] [srcPaths...]  翻訳ファイルからすべての文字列を抽出し、定義済みのフォルダへ.poファイルを出力する

new コマンド

c8ycli new [name] [template] では空のアプリケーションを作成する、もしくは既存のアプリケーション(コックピット、デバイス管理、管理)を拡張できます。既存のアプリケーションを拡張するには、以下のように、既存のアプリケーションの名前を、[name]および[template]として使用します。

$ c8ycli new cockpit cockpit
Tip
c8ycli new コマンドには、スキャフォールディングに使用するパッケージを定義する -a フラグがあります。このようにして、スキャフォールディングするアプリケーションのバージョンを定義することも可能です。例えば、以下の通りです。

  • c8cycli new my-cockpit cockpit -a @c8y/apps@1004.11.0 は、アプリケーションのバージョン 10.4.11.0 をスキャフォールディングします。
  • c8ycli new my-cockpit cockpit -a @c8y/apps@latest は、アプリケーションの最新公式リリースをスキャフォールディングします。-a フラグを付けずに使用する場合と同じです。
  • c8ycli new my-cockpit cockpit -a @c8y/apps@next は、アプリケーションの最新ベータリリースをスキャフォールディングします。

c8ycli new コマンドは [name][template] オプションを付けずに単独で提供することもできます。この場合、アプリケーションがスキャフォールディングされる前に、いくつかの手順をインターフェース経由で完了させる必要があります。

Step 1:

? Enter the name of the project: (my-application)

最初の手順では、プロジェクト名を求められます。プロジェクト名が入力されていない場合、デフォルトの my-application が使用されます。

備考
最初のコマンド c8ycli new my-application で名前が提供されていれば、この手順はスキップすることもできます。

Step 2:

? Which base version do you want to scaffold from? (Use arrow keys)
> 1010.0.X (latest)
> 1011.X.0 (next)
> 1011.0.X
> 1009.0.X
> 1007.0.X
> 1006.0.X
> other

Step2 では、スキャフォールディングとなるバージョンを選択する必要があります。インターフェースは、最新のGAリリース(latest)、利用可能な最新のリリース(next)、4つの古いGAリリースを提供します。さらに、otherオプションを選択することで、バージョンを手動で入力することができます。

Step 2 (other):

? Enter the desired version:

この手順では、希望するバージョンを 1010.0.0 のように手動で入力する必要があります。

備考
この質問は、前の手順で other を選択した場合のみ表示されます。

Step 3:

? Which base project do you want to scaffold from?
  administration
  application
  cockpit
  devicemanagement
  hybrid
  tutorial

最後の手順では、スキャフォールディングとなるプロジェクトを選択する必要があります。

備考
この手順では、Step2で選択したバージョンで利用可能なプロジェクトのみが表示されます。

アプリケーションオプション

アプリケーション オプションは --app.<option>=<value> で定義されます。これらは [appPaths...] に存在するすべてのアプリケーションに適用されます。

    --app.name="My Application"
    --app.key=myapp-key
    --app.contextPath=myapplication
    --app.brandingEntry="./branding/mybranding.less"

Webpackオプション

Webpack オプションは --env.<option>=<value> により定義されます。これらは直接 webpack の設定へ渡されます。

    --env.mode="production"
    --env.hmr

Angular コマンドライン ツール (CLI)

純粋なAngularアプリケーションを作成する場合、Angular CLI(ng -cli)プロジェクトを作成し、Cumulocity CLIを追加してください。 この機能はAngular 7(バージョン 10.4.2.0)、Angular 8(バージョン 10.5.9.0)、Angular 11(バージョン 10.10.4.0)で利用可能です。

Angular CLIのインストール

@c8y/cliをグローバルインストールするには 公式ページの方法 に従ってください。

npm install -g @angular/cli@v8-lts

新しいプロジェクトを作成する

ng new my-first-iot-project
cd my-first-iot-project

Cumulocity IoT CLIを追加する

ng add @c8y/cli

アプリケーションを実行する

ng serve

アプリケーションが実行されているかを確かめるには、ブラウザで http://localhost:4200/ にアクセスしてください。

package.json内のアプリケーションオプション を設定し、LESSやCSSのカスタム変数でブランディングをカスタマイズすることもできます。