Как зарегистрировать приложения в Spring Cloud DataFlow?

Я начинаю с Spring Cloud DataFlow, я запускал экземпляр через Docker Compose и успешно создал Потоки с примерами приложений.

Я написал приложение Источник и Раковина самостоятельно, и я не могу зарегистрировать их на панели управления SCDF.

Как зарегистрировать приложения в Spring Cloud DataFlow?

Я пробовал адреса как maven://, так и file:///, но поскольку панель управления работает внутри контейнера Докер, я думаю, проблема в том, что он не может получить доступ к локальному репозиторию .m2 или к локальной файловой системе, где расположены банки.

Как мне продолжить? Должен ли я отображать файловую систему через Docker Compose или как?

Спасибо, что сообщили об этом. Мы еще не исследовали этот вариант, но у меня есть весеннее облако / весеннее облако-поток данных # 2286, и мы скоро его рассмотрим. А пока, возможно, вы могли бы изучить вариант, описанный в этом нить. Возможно, также внесите его обратно в проект, если вам это удастся. :)

Sabby Anandan 27.06.2018 17:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
473
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Итак, проблема была именно в этом.

Я сообщаю здесь о комментарии @SabbyAnandan (у комментариев нет истории, и это значимый комментарий)

Thanks for reporting this. We haven't explored this option yet, but I have spring-cloud/spring-cloud-dataflow#2286, and we will look into it soon.

In the meantime, maybe you could explore the option described in this thread. Possibly also contribute it back to the project, if you're successful with it. :)

В ожидании автоматизированного решения, пока достаточно добавить в docker-compose.yml следующую строку:

# ... stuff ...
dataflow-server:
# ... stuff ....
  volumes:
    - /home/MY_USER_NAME/.m2:/root/.m2

Таким образом, мы сможем загружать наши артефакты через пользовательский интерфейс в форме Maven:

maven://com.foo.bar:my-source:jar:0.0.1-SNAPSHOT

(при условии, что мы запустили mvn clean install для установки артефакта в репозиторий .m2 системы одно и тоже, где запущен Docker-Compose, который не обязательно является нашим, но потенциально удаленным).

Этот ответ неполный, так как шкиперу-серверу нужен доступ к тому же объему. Например. вам необходимо смонтировать точно такой же том как к серверу потока данных, так и к серверу-шкиперу, как описано здесь: stackoverflow.com/a/60113245/4430769

tzolov 07.02.2020 13:13

Спасибо за обновление @tzolov, теперь я принял ваш ответ

Andrea Ligios 07.02.2020 13:33
Ответ принят как подходящий

Вот полный и официальный ответ из документации по потоку данных: Доступ к файловой системе хоста

Обратите внимание, что вам нужно смонтировать один и тот же том точно на оба dataflow-server:

dataflow-server:
  # ...
  volumes:
     - /home/MY_USER_NAME/.m2:/home/cnb/.m2

и skipper-server:

skipper-server:
  # ...
  volumes:
     - /home/MY_USER_NAME/.m2:/home/cnb/.m2

Note: Starting with DataFlow 2.8.0+ and Skipper 2.7.1+ the in-container mount paths had changed from /root/.m2 to /home/cnb/.m2/ instead.

Другие вопросы по теме