1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

enebular_uhuruAdvent Calendar 2020

Day 17

enebularが提供するHeroku上のNode-RED実行環境

Posted at

はじめに

enebularは、フローエディタで作成したNode-REDのフローを、RaspberryPiやHeroku、AWS Lambdaなどにデプロイして実行する機能を提供しています。
enebular-agentで何かを作る改め紹介&使い方の記事では、RasperryPiなどのデバイスでenebularで作成したフローをデプロイ、実行するときにデバイスにインストールして利用するenebular-agentが紹介されています。
この記事では、Heroku環境にフローをデプロイ、実行するときに必要となるenebular-agent-herokuについて紹介しようと思います。

enebular-agent-herokuとは

enebular-agent-herokuは、enebularがフローをHerokuにデプロイするときに、デプロイ先のHeroku環境に予めデプロイしておく必要があるアプリです。

enebularでフローのデプロイ先のHeroku環境を選択するダイアログにDeploy to Herokuボタンがあります。

image.png

これがHerokuにenebular-agent-herokuのデプロイを行うボタンです。

Deploy to Herokuボタンを押すと、以下のようなHerokuの画面が表示されます。

image.png

App name、USERNAME、PASSWORDを入力し、Deployボタンを押すとデプロイが開始します。
注意: AGENT_HEROKU_VERSIONという項目もありますがこの値は変更しないでください

enebular-agent-herokuの仕組み

enebular-agent-herokuをHeroku環境にデプロイすると、Heroku Postgresadd-onも追加されます。
enebularからフローをデプロイすると、デプロイしたフローはPostgreSQLに保存します。

通常のNode-REDの場合フローをファイルに保存しますが、Herokuの場合デプロイしたアプリでファイルを利用できないため、PostgreSQLに保存します。

デバッグ

フローの開発・デバッグは通常以下のような流れになります。

  1. enebularのフローエディタでフローを開発する
  2. フローエディタ上でフローを実行して動作確認する
  3. 不具合があればフローエディタでフローを修正する
  4. 不具合がなくなったらHerokuにフローをデプロイする
  5. Heroku上で動作確認する
  6. 不具合があったら3に戻る

上記の流れでは、5のHeroku上での動作確認において不具合が見つかった場合に3に戻るため少々手間がかかります。
Herokuでのデバッグが頻繁に発生するような開発の場合は、直接Heroku上でフローを編集することもできます。

編集するには、デプロイ先のHerokuの以下のURLにWebブラウザでアクセスします。App nameはenebular-agent-herokuデプロイ時に指定したApp nameです。
https://<App name>.herokuapp.com/red/

以下の画面が表示されます。

image.png

ユーザ名とパスワードに、enebular-agent-herokuのデプロイ時に指定したUSERNAME/PASSWORDを入力してログインするとフローエディタが表示されます。

image.png

ここでフローを編集し、右上のデプロイボタンで保存・実行することができます。

実行環境であるHeroku上で直接フローを編集できるためデバッグが効率化できます。

ただし、ここで保存したフローはこのHeroku環境のPostgreSQLにのみ保存します。つまり、enebularに保存されているデプロイ元のフローは変更されません。デバッグが終わったらenebularに登録されているフローにも変更内容を反映するようにしてください。

まとめ

簡単ではありますが、enebular-agent-herokuについて紹介しました。
enebularを使うと、クラウド(Heroku)上にNode-REDの開発・実行環境を簡単に構築できますので、クラウドでNode-REDを運用したい場合にお試し頂けると幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?