Развертывание в пользовательском узле непрерывной доставки Azure

У меня есть приложение для узла, которое имеет как собственный встроенный интерфейс, так и API-интерфейс узла.

Я хочу иметь возможность просто запустить npm install для обеих папок, а затем просто запустить команду запуска "сервер узла" (node ​​/server/index.js), чтобы запустить приложение узла.

Но я не могу понять задачи релиза, чтобы это произошло.

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

1 ответ

На мой взгляд, это не имеет ничего общего с непрерывной доставкой. Поскольку служба приложений Azure работает в Microsoft IIS, вам потребуется файл конфигурации IIS с именем web.config и должен включать следующий раздел, чтобы соответствовать вашим требованиям:

<handlers>
  <add name="iisnode" path="./node/server/index.js" verb="*" modules="iisnode"/>
</handlers>

Это указывает на то, что node/server/index.js файл - это сайт node.js, который обрабатывается модулем iisnode.

<rewrite>
  <rules>
    <!-- First we consider whether the incoming URL matches a physical file in the /public folder -->
    <rule name="StaticContent">
      <action type="Rewrite" url="public{REQUEST_URI}"/>
    </rule>

    <!-- All other URLs are mapped to the node.js site entry point -->
    <rule name="DynamicContent">
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
      </conditions>
      <action type="Rewrite" url="./node/server/index.js"/>
    </rule>
  </rules>
</rewrite>

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

Для законченного web.config файл вы можете проверить этот пост.

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