VS Code Debug (Node) with Telepresence
Ищу способ отладки сервиса в VS Code через telepresence (v. 0.109)
У нас микросервисная архитектура Наш стэк: TS, Node, Kubernetes, Docker
Единственный знакомый способ - через Chrome:
Прописываем в терминале команду:
telepresence --swap-deployment <deployment name> --run-shell
Затем:
node --inspect=127.0.0.1:9229 index.js
После этого в Хроме открываем chrome://inspect, переходим по ссылке, открываем необходимый нам файл и расставляем точки останова. При выполнении кода будет автоматически открываться Хром на точках останова.
После обнаружения ошибки и исправления кода останавливаем работу скрипта.
Этот способ неудобен тем, что при повторном запуске необходимо снова открывать chrome://inspect и переходить по ссылке (ссылка получается одноразовая).
Пытаюсь найти способ для отладки непосредственно в VS Code, но пока безуспешно. Изучил документацию по отладке приложений Node (https://go.microsoft.com/fwlink/?linkid=830387), но ответа не нашел... Подозреваю, что вся проблема в конфигурации файла launch.json Я так понимаю, что по любому необходимо установить среди прочего:
"port": 9229,
"request": "attach"
Здесь я зашел в тупик...
Ответы (1 шт):
Все оказалось не так трудно:
Подключаемся через telepresence через докер -
telepresence --swap-deployment <deployment name> --docker-run -ti -v`pwd``:/app -v ~/.npmrc:/root/.npmrc --workdir /app node:14 bash`Выполняем команду запуска приложения/сервиса -
node --inspect=0.0.0.0:9229 index.jsКонфигурируем файл launch.json -
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to TP", "port": 9229, "address": "0.0.0.0", "localRoot": "${workspaceRoot}", "remoteRoot": "/app" } ]}
Ставим точки отанова, F5 - наслаждаемся )