インストール処理

エッジアプリケーションは、下記に従ってインストール処理が行われます。

Step1. 既存エッジアプリケーションのアンインストール処理

すでにインストールされているエッジアプリケーションが存在する場合は、エッジアプリケーションのアンインストール処理が行われます。
エッジアプリケーションのアンインストール処理は下記の順番で行われます。

  1. エッジプログラム停止スクリプトの実行

  2. エッジアプリ停止スクリプトの実行

  3. エッジアプリアンインストールスクリプトの実行

  4. エッジプログラムアンインストール前スクリプトの実行

  5. エッジプログラムアンインストールスクリプトの実行

  6. エッジプログラムのアンインストール処理(CMakeプログラム以外)

Step2. 必要なアプリケーションのインストール処理

エッジアプリケーションの動作に必要なアプリケーションのインストール、およびインストール済みアプリケーションの更新処理が行われます。
インストール処理と更新処理はaptによって行われ、インストールに失敗した場合は最大で3回までリトライ処理が行われます。
リトライに失敗した場合は、エッジアプリケーションのインストールエラーとなります。

Step3. Pythonライブラリのインストール

Pythonスクリプトを含むノードプログラムの動作に必要なPythonライブラリがインストールされます。
インストールに失敗した場合や、ライブラリの依存関係を解決できない場合はエッジアプリケーションのインストールエラーとなります。

Step4. エッジプログラムのインストール

エッジプログラムが、エッジアプリケーションに設定された順番にインストールされます。
エッジプログラムのインストール処理は、エッジプログラム種別によって異なります。
詳細は エッジプログラム を参照してください。

  1. エッジプログラムインストールスクリプトの実行

  2. エッジプログラムのインストール処理

  3. エッジプログラムインストール後スクリプトの実行

Step5. 配信ファイルの展開

配信ファイルが存在する場合は、配信ファイルの展開が行われます。
配信ファイルの指定ディレクトリが相対パスで指定された場合は/myiot/<エッジアプリID>配下にディレクトリが作成されます。 指定ディレクトリが絶対パスで指定された場合は、指定されたパス配下にディレクトリが作成されます。

Step6. エッジアプリインストールスクリプトの実行

エッジアプリケーションのインストールスクリプトが実行されます。
エッジアプリインストールスクリプトはroot権限で実行されます。

Step7. 不足ノードパッケージのインストール

不足しているノードが存在する場合、もしくはインストール済みノードのバージョンと、エッジアプリケーションで使用されているノードのバージョンが異なる場合は、npmリポジトリからインストールされます。
インストールに失敗した場合は、最大で3回までリトライ処理が行われます。

Step8. Node-REDフローファイルの適用

Node-REDフローが更新されます。

Step9. エッジアプリ開始スクリプトの実行

Node-REDが再起動され、エッジアプリ開始スクリプトが実行されます。
エッジアプリ開始スクリプトはユーザー権限(pi or ubuntu)で実行されます。