LINUX.ORG.RU

CLI-приложения в веб-браузере?..

 


0

3

Здравствуйте.

Не уверен, что точно правильно сформилирую вопрос. Понятно, что при наличии безграничного времени (этого не хватает) и навыков программирования (это в принципе есть) можно написать всё что угодно с нуля. И, по правде говоря, в разных компаниях я натыкался на разные поделки, делающие то, что я опишу с разной эффективностью… Хотя чаще всего для этого используют старый добрый jenkins, который всё-таки не совсем для этого предназначен и штука специфичная.

Есть ли какой-то продукт вроде полуготового конструктора CMS с возможностями расширения, который позволяет запускать произвольные консольные приложения (написанные в принципе на чём угодно), выдающие какой-то выхлоп в stdout/stderr, принимающие параметры из командной строки или из переменных окружения и сохраняющие какой-то результат, допустим, с ошибкой или без завершилось? Платный, бесплатный, закрытый, открытый… я бы все поглядел бегло.

Что-то вроде jenkins/travis, но не столь специализированный, но при этом расширяемый. Чтобы, допустим, программисты могли создавать новые «задачи», которые представляют с собой какой-то сценарий, выполняющийся от нескольких минут до нескольких дней… что добавляло бы новую сущность в неком списке на главной странице. И чтобы история запусков хранилась где-то, разумеется. И отслеживать текущий выхлоп stdout/stderr.

Чтобы это всё выполнялось в кластерном окружении, так вообще шикарно было бы. Допустим, большая подзадача могла бы маленькие создавать и запускать на других узлах… и дожидаться завершения.

Линукс тут при том, что работать на нём всё должно, разумеется.

В моей лаборатории под такое норовили использовать Jupyter / Jupyterhub на шаредхосте.

t184256 ★★★★★
()

xterm.js + wss + websockify и будет тебе текстовая консоль с чем угодно в браузере. В консоли запустишь своё CLI.

frob ★★★★★
()

Из заголовка кажется, что нужен обычный web shell, а по описанию вообще мало чего понятно.

Но плюсану анонимуса, каким-то боком Node-RED подойдёт.

vvn_black ★★★★★
()
Ответ на: комментарий от dvetutnev

Нет. Наверное, я плохо объясняю. xtermjs - что-то похожее на то, что нужно.

Суть в том, что я не терминал реализовать полностью хочу, а в весьма ограниченном виде.

BattleCoder ★★★★★
() автор топика
Ответ на: Смотрите и завидуйте от gtk3

я посмотрел, но завидовать не стал, я на стороне добра, присоединяйся.

anonymous
()
Ответ на: комментарий от BattleCoder

Ну, xterm.js на самом деле довольно «подробная» реализация, скорее всего обеспечит потребности с запасом.

Для работы потребуется «плагин» attach (для подключения вебсокета) и скорее всего fit, чтоб размер терминального окна подкручивать. С автофитом могут быть некоторые косяки.

И ещё...
Не под маковскими браузерами ^W использовать внутри CLI не получится (если оно надо), «продвинутые пользователи» могут ненароком пришибать или перезагружать (^R) окно.
Тебе надо будет влепить кусочек жабоскрипта с listener-ом на «beforeunload» (максимум что можно сделать: показывать диалог «действительно хотите выйти?») и перехватывать ^R с preventDefault.

frob ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.