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つの重要なフラグをサポートしています。
-u
: -uパラメータはすべてのAPIリクエストがプロキシされるThings Cloudインスタンスを指定します。これは、設定されたThings Cloudインスタンスから実際にデータが取得されることを意味します。-p
: 使用するポートです。定義されていない場合は9000番ポートが使われます。既にこのポートでサーバーが動いている場合、コマンドは失敗します。アプリケーションはhttp://localhost:<<port>>/apps/<<your-application-name>>/
というURLで提供されます。
ヒント:ターミナルで “control “キーを押しながらURLをクリックしてください。
使用方法
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
最後の手順では、スキャフォールディングとなるプロジェクトを選択する必要があります。
アプリケーションオプション
アプリケーション オプションは --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のカスタム変数でブランディングをカスタマイズすることもできます。