Node-RED:Руководство пользователя/Проекты

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 46622 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


Проекты [1]

«Projects» («Проекты») – новая функция редактора Node-RED для управления файлами потоков. Если ранее пользователи работали с потоками как с обычными файлами, то эта функция обеспечивает пользователя всем необходимым для создания приложения Node-RED, которое можно было бы повторно распространять или свободно использовать в своих проектах.

Работа функции «Projects» обеспечивается с помощью Git-репозиториев, и это значит, что все ваши файлы будут поддерживать полное управление версиями, а разработчики смогут использовать привычные пайплайны для совместной работы с другими людьми.

Начиная с версии 0.18 функцию «Projects» необходимо активировать в файле настроек (как – читайте ниже).

Примечание: На платформе IBM Cloud эта функция в данный момент не доступна.

Активация функции «Projects»

Чтобы активировать функцию «Projects», вам нужно отредактировать файл «settings.js» (как – показано во фрагменте ниже) и перезапустить Node-RED.

Pixel Art Mini Meow Animated.gif

Файл «settings.js» находится в домашней папке пользователя в папке .node-red.

Полный путь файла можно узнать, если остановить и заново запустить Node-RED:

Выполните в консоли сначала:

node-red-stop

А потом:

node-red-start

Подождите немного и в выводе будет показан полный путь до «settings.js».


Примечание: Файл «settings.js» экспортирует JavaScript-объект. Поэтому, чтобы правильно настроить Node-RED, вы должны знать, как редактировать JavaScript-объекты путем добавления новых и модификации существующих пар «ключ/значение» вроде того, что показано в коде ниже:

editorTheme: {
       projects: {
           enabled: true
       }
   },

Чтобы вы могли использовать функцию «Projects», необходимо, чтобы у вас были установлены инструменты командной строки «git» и «ssh-keygen». При запуске Node-RED будет проверять их наличие, и если их не будет, то она даст вам об этом знать.

Создаем первый проект

Когда вы откроете редактор, вам будет показан экран приветствия, приглашающий создать свой первый проект при помощи уже созданных ранее файлов потоков.

Nodered project welcome.png

Вам нужно будет проделать следующее:

Настроить клиента для управления версиями

Node-RED использует для управления версиями инструмент Git, распространяемый по принципу «open-source». Он отслеживает изменения, внесенные в файлы вашего проекта, а также позволяет загрузить их в Git-репозитории.

Когда вы комиттите (т.е. фиксируете в памяти Git-репозитория; от англ. «to commit») изменения, Git – при помощи имени пользователя и имейла – записывает, кто именно внес эти изменения. Имя пользователя может быть каким угодно (это необязательно должно быть ваше настоящее имя).

Ваш клиент Git, возможно, уже настроен как нужно, и в этом случае Node-RED воспользуется именно этими настройками.

Вы можете всегда поменять эти настройки в главном меню настроек Node-RED.

Более подробно о настройке клиента Git читайте тут (это ссылка на GitHub).

Создать свой проект.

Следующий шаг – дать название и описание своему проекту.

Создать файлы проекта.

Node-RED автоматически переместит уже созданные файлы потока в ваш проект. При желании их можно будет переименовать.

Настроить шифрование файла учетных данных.

Вы можете захотеть поделиться своим проектом на публичных сайтах вроде GitHub, поэтому настоятельно рекомендуем зашифровать свой проект учетных данных.

Чтобы зашифровать его, вам нужно будет задать ключ для защиты файла. Он будет храниться вне проекта. Если кто-то сделает клон вашего проекта, вам нужно будет дать ему ключ, чтобы он мог дешифровать файл учетных данных, иначе вам нужно будет отредактировать поток, чтобы этот кто-то мог задать собственные учетные данные.

После этого проект будет создан в директории «~/.node-red/projects/<название-проекта>».

Работа с проектами

Создав проект, вы сможете использовать редактор Node-RED так же, как и раньше. Но теперь, когда у вас открыт проект, в редакторе должны появиться новые элементы интерфейса.

Открываем настройки проекта

На вкладке «Info» теперь показывается проект, над которым вы работаете в данный момент. Справа от названия проекта есть кнопка (с тремя точками), открывающая меню «Project Settings».

Nodered projects sidebar.png

Это меню также можно открыть, кликнув на кнопку с тремя полосками справа вверху, а затем на «Projects» > «Project Settings».

Это меню состоит из трех вкладок:

  • «Project» («Проект») – здесь можно отредактировать файл «README.md» проекта
  • «Dependencies» («Зависимости») – здесь можно управлять модулями, от которых зависит ваш проект
  • «Settings» («Настройки») – здесь можно управлять настройками проекта, включая удаленные Git-репозитории

Зависимости проекта («Dependencies»)

У каждого проекта есть собственный файл «package.json», в котором хранится список всех модулей, от которых зависит проект. Редактор Node-RED отслеживает, какие ноды вы используете в потоке, тем самым помогая поддерживать список зависимостей актуальным.

Nodered project dependencies.png

На скриншоте выше показано, что в файле «package.json» текущего проекта имеется три модуля, у каждого из которых свой собственный статус:

  • Модуль «node-red-node-mysql» в данный момент не установлен
  • Модуль «node-red-node-random» используется текущим потоком
  • Модуль «node-red-node-rbe» в списке, но текущим потоком не используется

Наконец, нода модуля «node-red-node-smooth» используется в текущем потоке, но в списке зависимостей этот модуль не значится.

Поддерживать актуальность списка зависимостей важно, если вы хотите поделиться своим проектом с другими, т.к. это поможет другим пользователям установить необходимые модули.

Настройки проекта («Settings»)

На этой вкладке можно управлять файлами потока, а также настраивать шифрование для своих учетных данных, локальные Git-ветки и удаленные репозитории.

Управление версиями

С активацией функции «Projects» в боковую панель будет добавлена новая вкладка «History», предназначенная для управления версиями вашего проекта. Она состоит из 2 секций:

Секция «Local Changes»

Nodered project local changes.png

Каждый раз, когда вы меняете файл проекта (например, делая развертку новой версии потока), эти изменения будут показаны в секции «Local files». Чтобы увидеть, что изменилось, кликните по названию файла. Если провести над названием курсором мыши, справа появится кнопка с плюсиком – если кликнуть по ней, это проиндексирует файл и переместит его вниз, в секцию «Changes to commit». Если у вас есть проиндексированные файлы, которые вы хотите закоммитить, кликните на кнопку «commit», введите сообщение и нажмите на «Commit».

Секция «Commit History»

Nodered project commit history.png

Здесь показываются все коммиты текущей ветки репозитория. Когда вы создаете проект, Node-RED автоматически коммитит его начальные файлы.

В самом верху списка – кнопка «Branch». Она позволяет искать и создавать ветки в репозитории.

Если в вашем репозитории настроен удаленный репозиторий, здесь также будет кнопка, показывающая, сколько коммитов «впереди» и/или «позади» вашего локального репозитория по сравнению с удаленным репозиторием. Здесь также можно выбрать, какую вы хотите отслеживать ветку или удаленный репозиторий, а также отправлять/отзывать изменения с удаленного репозитория.

Это один из тех элементов интерфейса Node-RED, где разработчики упростили взаимодействие пользователя с функционалом редактора – здесь имеются не все функции из Git. К примеру, здесь нет опций для перемещения локальных коммитов или принудительной отправки изменений на удаленный репозиторий. Но вы по-прежнему можете пользоваться ими в командной строке.

Создание новых проектов

Теперь, когда вы при помощи уже созданных файлов потока создали свой первый проект, можно приступить к созданию новых проектов.

Кликните на кнопку с тремя полосками справа вверху, а затем на «Projects» > «New».

Откроется новое меню, в котором будет 3 вкладки:

  • «Open Project» – открытие ранее созданного проекта
  • «Create Project» – создание нового проекта
  • «Clone Repository» – создание клона удаленного репозитория

Вкладка «Open Project»

В Node-RED может быть одновременно запущен только один проект. Если открыть в Node-RED другой проект, то в нем, соответственно, откроются и другие ноды.

Здесь также можно удалить проекты. Для этого наведите на нужный проект курсором мышки и кликните на кнопку с мусорной корзиной. Проект, запущенный в данный момент, удалить нельзя.

Вкладка «Create Project»

Здесь можно создать новый проект. Здесь есть все те же самые опции, что используются при создании самого первого проекта, но они сгруппированы в одно меню.

Вкладка «Clone Repository»

Здесь можно сделать клон удаленного репозитория. Для репозитория можно использовать ссылки с «http(s)» или «git/ssh». Кроме того, для доступа к репозиторию, возможно, нужно будет ввести учетные данные.

Примечание: Если вы используете ссылку с «http», то не указывайте в ней ни имя пользователя, ни пароль. Вы должны будете указать их отдельно, когда вас об этом попросят.

Node-RED в данный момент не использует никаких хранилищ учетных данных, которые, возможно, использует ваш клиент Git. Этот элемент в данный момент находится в разработке, а сами разработчики просят у пользователей фидбек по этому вопросу.

Если вы используете ссылку с «git/ssh», Node-RED сгенерирует вам список доступных публичных SSH-ключей. Этот список генерируется путем сканирования папки «~/.ssh» на предмет файлов, заканчивающихся на «.pub» и имеющих соответствующие файлы закрытых ключей. Кроме того, в редакторе Node-RED есть специальное меню для генерирования новых пар публичных/приватных ключей – чтобы открыть его, кликните на кнопку с тремя полосками справа вверху, а затем на «Settings» > «Git config». Эти файлы сохранятся в «~/.node-red/projects/.sshkeys/». Если у вас включено свойство «adminAuth», эти файлы сохраняются в папку пользователя, который залогинен в данный момент, чтобы пользователям не пришлось обмениваться учетными данными для использования удаленного репозитория.

См.также

Внешние ссылки

  1. nodered.org - Projects