インストール処理¶
エッジアプリケーションは、下記に従ってインストール処理が行われます。
Step1. 既存エッジアプリケーションのアンインストール処理¶
すでにインストールされているエッジアプリケーションが存在する場合は、エッジアプリケーションのアンインストール処理が行われます。
エッジアプリケーションのアンインストール処理は下記の順番で行われます。
エッジプログラム停止スクリプトの実行
エッジアプリ停止スクリプトの実行
エッジアプリアンインストールスクリプトの実行
エッジプログラムアンインストール前スクリプトの実行
エッジプログラムアンインストールスクリプトの実行
エッジプログラムのアンインストール処理(CMakeプログラム以外)
Step2. 必要なアプリケーションのインストール処理¶
エッジアプリケーションの動作に必要なアプリケーションのインストール、およびインストール済みアプリケーションの更新処理が行われます。
インストール処理と更新処理はaptによって行われ、インストールに失敗した場合は最大で3回までリトライ処理が行われます。
リトライに失敗した場合は、エッジアプリケーションのインストールエラーとなります。
Step3. Pythonライブラリのインストール¶
Pythonスクリプトを含むノードプログラムの動作に必要なPythonライブラリがインストールされます。
インストールに失敗した場合や、ライブラリの依存関係を解決できない場合はエッジアプリケーションのインストールエラーとなります。
Step4. エッジプログラムのインストール¶
エッジプログラムが、エッジアプリケーションに設定された順番にインストールされます。
エッジプログラムのインストール処理は、エッジプログラム種別によって異なります。
詳細は エッジプログラム を参照してください。
エッジプログラムインストールスクリプトの実行
エッジプログラムのインストール処理
エッジプログラムインストール後スクリプトの実行
Step5. 配信ファイルの展開¶
配信ファイルが存在する場合は、配信ファイルの展開が行われます。
配信ファイルの指定ディレクトリが相対パスで指定された場合は/myiot/<エッジアプリID>
配下にディレクトリが作成されます。
指定ディレクトリが絶対パスで指定された場合は、指定されたパス配下にディレクトリが作成されます。
Step6. エッジアプリインストールスクリプトの実行¶
エッジアプリケーションのインストールスクリプトが実行されます。
エッジアプリインストールスクリプトはroot権限で実行されます。
Step7. 不足ノードパッケージのインストール¶
不足しているノードが存在する場合、もしくはインストール済みノードのバージョンと、エッジアプリケーションで使用されているノードのバージョンが異なる場合は、npmリポジトリからインストールされます。
インストールに失敗した場合は、最大で3回までリトライ処理が行われます。
Step8. Node-REDフローファイルの適用¶
Node-REDフローが更新されます。
Step9. エッジアプリ開始スクリプトの実行¶
Node-REDが再起動され、エッジアプリ開始スクリプトが実行されます。
エッジアプリ開始スクリプトはユーザー権限(pi)で実行されます。