デプロイについて

Introductionで述べたように、enebularでは作成したアセットをデバイスにデプロイできます。

フローのデプロイ

Node-REDのフローエディターで作成したデータフローであるFlowは外部サービスと連携してデバイスへデプロイできます。

下の画像のようにenebularから立ち上げるフローエディターで[Deploy]という操作ができますが、こちらはFlowを保存することが目的です。

deploybutton

永続的に稼働させるには外部サービスを利用してデバイスへデプロイする必要があります。

Introductionでも触れましたが、デプロイをする際に知っておくべき概念が2つあります

  • デバイス:アセットの実行環境となるデバイス本体
  • デバイスマスター:enebularからのデプロイのリクエストを受けてデバイスにデプロイを行ったり、デバイスの監視やenebularへのログ送信を行う外部サービス

devices

エッジデバイスへのデプロイを例にした場合、enebularからの指示を受け付けてエッジデバイスへのデプロイを行うクラウドサービス(AWS IoT)がデバイスマスターであり、エッジデバイスがデバイスです。

HerokuやAWS Lambdaなどクラウド上の実行環境の場合は、クラウドサービスがデバイスデバイスマスターの両方の役割を担います。

デプロイ可能なフローのサイズ

enebular-agent

最大サイズ:100kB

cloud service

ターゲット 最大サイズ
Heroku 100kB
AWS Lambda 100kB

具体的なデプロイ方法は以下になります。
※デプロイ失敗時にデプロイのリトライは行いません。

エッジ

以下を参照ください。

クラウド

以下を参照ください。

デプロイ結果の確認

デプロイ結果は、アセットのDeployタブで確認できます。 この画面では、デプロイ指示毎に以下の情報を確認できます。

  • 対象数
  • ステータス
  • バージョン
  • コネクション
  • デプロイ実行者
  • リクエスト日時
  • ステータスの最終更新日時

ステータスが実行結果であり、以下のいずれかが表示されます。

ステータスの種類

ステータス 説明
成功 1つ以上のデバイスに対して実行したデプロイがすべて成功した場合
失敗 1つ以上のデバイスに対して実行したデプロイが少なくとも1つ失敗した場合
デプロイ中 1つ以上のデバイスに対して実行したデプロイが完了していない場合

各デプロイ指示の行をクリックすると、デバイス毎の実行結果を確認できます。 この画面ではデバイス毎に以下の情報を確認できます。

  • 名称
  • デプロイステータス
  • リクエスト日時
  • ステータスの最終更新日時

デバイス名(名称)をクリックすると、デバイスの概要ページを表示できます。
※ライセンスをUnsubscribeしたデバイスはクリックできません。

また、再度デプロイを行いたい場合、この画面に表示される再デプロイボタンを押すことで実行できます。

再デプロイボタンを押すとデプロイ対象を選択するためのダイアログを表示します。ここで再デプロイが必要な対象をチェックし、ダイアログの再デプロイボタンを押すと再度デプロイを実施します。

Node-REDの互換性に関する注意点

ノードの有効化/無効化

enebular v2.25.0以降では、Node-RED v1を採用しています。これにより、Node-REDのノードの有効化・無効化の機能が利用できるようになります。 ノードの有効化・無効化の機能が利用できるのは、以下のデプロイ先にフローをデプロイする場合です。

  • enebular-agent: 2.15.0以上
  • heroku deploy(enebular-agent-heroku): 1.1.2以上
    (デプロイ先のherokuの環境変数AGENT_HEROKU_VERSIONの値で確認できます。この環境変数が存在しない場合は1.1.2未満です)
  • lambda deploy

上記以外のバージョンに無効化したノードをデプロイした場合、ノードは常に有効となります。

results matching ""

    No results matching ""