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

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

npm install -g @c8y/cli

c8y/cliをグローバルにインストールしたくない場合は、npxコマンドで実行することもできます。例えば、以下のコマンドを実行することで、新しいプロジェクトを素早くスキャフォールディングすることができます。

npx @c8y/cli new 

新しいプロジェクトはローカルの @c8y/cli を作成します。そのディレクトリに移動し、以下のコマンドを実行することでプロジェクトを実行することができます。

npm install && npx c8ycli serve 

serve コマンドはローカルの開発サーバーを起動します。このコマンドは2つの重要なフラグをサポートしています。

使用方法

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
ヒント
c8ycli new コマンドには、スキャフォールディングに使用するパッケージを定義する -a フラグがあります。このようにして、スキャフォールディングするアプリケーションのバージョンを定義することも可能です。例えば、以下の通りです。 c8cycli new my-cockpit cockpit -a @c8y/apps@1004.11.0 は、アプリケーションのバージョン 10.4.11.0 をスキャフォールディングします。

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のカスタム変数でブランディングをカスタマイズすることもできます。