LoginSignup
3
1

More than 1 year has passed since last update.

GitHub CodespacesでNode-REDを動かして編集したフローをプッシュしてみた。

Last updated at Posted at 2022-05-29

はじめに

祝!🎉
2022年5月18日にGitHub Codespacesのウェイトリストから解除された旨のメールを受け取り、ようやく利用できるようになったので、さっそく使ってみました。
Codespacesの環境でNode-REDを動かして、編集したフローをGitHubへプッシュしてみました。
結論から言うと、ブラウザのVS Code内でNode-REDの立ち上げ、フローの編集、GitHubレポジトリへの登録(プッシュ)の一連の操作が全て完結するので、とても便利でした。

invitation.jpg

Codespacesの立ち上げ

Codespacesへアクセス、ログインします。
Repository、Branch、Dev container configuration、Region、Machine typeを設定して「Create codespace」ボタンを押します。

無料アカウントは
Dev container configuration →Default Codespaces configurationのみ
Region →US East、Southeast Asia、Europe West、US Westの中から選択
Machine type →4-core、8GB RAM、32GB storageのみ
でした。

image_1.jpg

image_00.jpg

セットアップが開始され、しばらくするとブラウザ内で見慣れたVS Codeが立ち上がります。

image_2_0.jpg

image_2_1.jpg

環境は
/workspaces/{レポジトリ名} →GitHubレポジトリのルート
/home/codespace →ホームディレクトリ
になっています。

複数のCodespaceの立ち上げ

管理画面で「New codespace」ボタンを押して、複数のCodespaceを立ち上げることが可能です。

image_7.jpg

Node-REDの立ち上げ

dockerコマンドでNode-REDを実行します。

$ cd
$ mkdir .node-red
$ docker run -d -p 1880:1880 -p 1883:1883 -v /home/codespace/.node-red:/data nodered/node-red:latest

Node-REDが起動すると、右下にポップアップが表示されるので、「Open in Browser」ボタンを押します。
Node-REDのフローエディタが別のタブで開きます。

image_3.jpg

VS CodeのPORTSタブを押すと開いているポート番号の一覧を確認できます。
ここでは、ポート番号:1880がNode-REDのフローエディタで、ポート番号:1883がMQTTで使用するポートです。
(MQTTを利用するにはngrokコマンドでポート転送機能を使用する必要があります)

image_4.jpg

デフォルトでは外部から匿名アクセスはできません。(VisibilityがPrivateになっています)
右クリック(macOSの場合は、Ctrl + クリック) → Port Visibility → Publicを選択することで匿名アクセスが可能になります。

image_5_1.jpg

image_5_2.jpg

例えば、Node-REDフローでダッシュボードを外部へ公開したい場合は、この設定変更が必要です。

image_6.jpg

GitHubレポジトリへのプッシュ

$ cd .node-red/
$ cp flows.json /workspaces/{レポジトリ名}/

image_8.jpg

メニューでSource Controlを選択し、Commit (✅マーク) を押します。

image_9.jpg

コメントを入力してEnterを押すとCommitが実行されます。

commit.jpg

メニューでExplorerを選択し、GitHubレポジトリに反映されていることを確認します。

スクリーンショット 2022-05-29 23.59.12.png

GitHubページにも反映されていることを確認できます。

スクリーンショット 2022-05-29 23.59.51.png

3
1
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
3
1