Удаленная отладка приложения node.js в SAP Cloud Foundry

Мы разместили несколько экспресс-сервисов node.js в SAP Cloud Foundry. Так как мы не можем больше заниматься этой проблемой, и, возможно, другие столкнулись с этой проблемой, вот явный вопрос по этому поводу:
Как вы можете удаленно отлаживать приложение node.js (наше), размещенное на SAP Cloud Foundry?
В нашем случае у нас есть экспресс-служба, которая использует SAP Cloud SDK (v1.6.1) для предоставления различных данных из SAP Cloud и OnPremise.

1 ответ

Я не уверен, что это лучший подход, но он работает для меня, так что здесь идет:

Для начала нужно адаптировать старт command вашего приложения в manifest.yml, чтобы вы могли присоединить ваш отладчик. Например:

command: node --inspect --require ts-node/register src/index.ts

В этом примере я использую TypeScript, если вы используете простой JS, он будет выглядеть примерно так:

command: node --inspect src/index.js

Далее, чтобы иметь возможность подключить отладчик к инспектору, вам нужно открыть ssh-туннель для вашего приложения, например так:

cf ssh <APP_NAME> -N -T -L 9229:127.0.0.1:9229

Это позволит туннелировать порт 9229 вашего локального компьютера на порт 9229 в контейнере, в котором работает ваше приложение (9229 - это порт по умолчанию, на котором работает инспектор).

Наконец, (и я предполагаю, что вы используете код VS здесь), вам нужно запустить свой отладчик. Вот конфигурация, которую я использую для этого:

{
  "type": "node",
  "request": "attach",
  "name": "Attach to Remote",
  "address": "localhost",
  "port": 9229,
  "localRoot": "${workspaceFolder}",
  "remoteRoot": "/home/vcap/app"
}

Недостаток этого подхода (по сравнению с отладкой Java-приложения) в том, что теперь есть способ присоединиться к работающему приложению, потому что вам нужно будет начать с --inspect (что вы, вероятно, не захотите делать по умолчанию для продуктивного приложения). Я не нашел решения для этого еще. Таким образом, вы можете иметь отдельное развертывание, если вы уже работаете продуктивно.

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