[Node-red] Custom node 배포

2022. 12. 1. 14:06개발/Node-red

2022.11.21 - [기록/개발 노트] - [Node-red] Custom node 수정 - 4

 

[Node-red] Custom node 수정 - 4

2022.11.21 - [기록/개발 노트] - [Node-red] Custom node 수정 - 3 [Node-red] Custom node 수정 - 3 마지막 수정 후 보완할 점들 mqtt 통신 불안정 mqtt 통신 불안정에 따른 Node-red 서버 중지 ( cmd 에서 자주 node-red 종료

iruk.tistory.com

기존에 제작한 Custom node를 배포한다.


Custom node 디렉토리 설정

 

https://nodered.org/docs/creating-nodes/packaging

 

Packaging : Node-RED

Packaging Nodes can be packaged as modules and published to the npm repository. This makes them easy to install along with any dependencies they may have. Naming We updated our naming requirements on 31st January 2022. The following applies to modules firs

nodered.org

위 사이트에 Node-red 에서 Custom node를 배포하는 과정을 자세히 다뤄준다.

 

 

1. 디렉토리 구성

디렉토리를 위와 같이 구성하도록 권장한다.

소스 코드에 README 파일을 추가해서 구성했다.

2. package.json 파일

{
    "name"         : "@myScope/node-red-sample",
    "version"      : "0.0.1",
    "description"  : "A sample node for node-red",
    "dependencies": {
    },
    "keywords": [ "node-red" ],
    "node-red"     : {
        "nodes": {
            "sample": "sample/sample.js"
        }
    }
}

사이트에서 제공하는 예시다.

package.json 파일 내에 

"keywords" : [ "node-red" ] 를 포함해줘야 한다.

"node-red"     : {
    "version": ">=2.0.0",
    "nodes": {
        "sample": "sample/sample.js"
    }
}

"node-red" 의 데이터에 "version" : ">=2.0.0" 와 같이 

버전의 정보를 추가한다.

추가 안해도 배포는 가능하지만

Node-red의 scorecard에 경고문이 나타난다.

나는 추가해줘서 Supported Node-RED Version : 목록이 체크되어 있다.

 

그냥 사용자들로 하여금 편하도록 버전 정보를 넣어주는 게 좋아 보인다.

 

3. README.md 

https://flows.nodered.org/node/node-red-contrib-ui-led

 

node-red-contrib-ui-led

A simple LED status indicator for the Node-RED Dashboard

flows.nodered.org

ui 상에 나타나는 led를 제작한 노드를 예시로 들었다.

사진에 표시된 설명문을 markdown 파일로 작성해서 추가해야 한다.

Custom node 디렉토리 내에 README.md 파일을 생성했다.


npm 배포

https://www.npmjs.com

 

npm

Bring the best of open source to you, your team, and your company Relied upon by more than 11 million developers worldwide, npm is committed to making JavaScript development elegant, productive, and safe. The free npm Registry has become the center of Java

www.npmjs.com

위 사이트에 접속해 회원가입을 한다.

npm 에 js 언어를 사용하기 위한 패키지들이 모여있다.

회원가입을 완료한 뒤 다시 Custom node의 디렉토리로 이동한다.

npm adduser

npm adduser을 실행하고

회원가입 했던 정보를 입력해주면 된다.

정보를 다 입력해주면 해당 e-mail로 OTP 가 전송된다. 

OTP 값을 입력해주고 나서

npm publish

npm publish를 실행한다.

나처럼 이미 업로드 되어있거나

혹은 업로드 한 지 시간이 얼마 지나지 않았으면

에러가 발생한다.

이 때는 package.json 파일을 수정하면 된다.

"name": "lighttalk_schedule_nodes"

package.json 파일의 'name'을 수정하고 npm publish 를 재실행 하면

정상적으로 배포가 완료된다.


Node-red 에서 npm 업데이트

https://flows.nodered.org/add/node

 

Library - Node-RED

Add your node to the Flow Library Use this form to tell the Flow Library about your node.

flows.nodered.org

위 링크로 들어가서

마지막에 본인 Custom node 의 name 을 입력해주면 된다.

나는 package.json 의 'name' 값을 그대로 입력했다.

위와 같이 입력 후 add node 버튼을 클릭하면

Node-RED 에서 npm과 연동이 된다.


위와 같이 Node-RED에서 내가 배포한 스케쥴 노드를 볼 수 있다.

이로써 local 환경이 아닌 다른 사용자들도

Custom node 를 사용할 수 있도록 설정하는 방법을 알아보았다.

'개발 > Node-red' 카테고리의 다른 글

[Node-red] Relay node 제작  (0) 2022.12.05
[Node-red] Custom node 만드는 방법  (0) 2022.12.02
[Node-red] Schedule node 수정 - 4  (0) 2022.11.21
[Node-red] Schedule node 수정 - 3  (0) 2022.11.21
[Node-red] Schedule node 수정 - 2  (0) 2022.11.17