【问题标题】:Node.js Azure WebJob: How to deploy from Visual Studio Team Services with Continuous DeliveryNode.js Azure WebJob:如何通过持续交付从 Visual Studio Team Services 进行部署
【发布时间】:2016-08-20 12:19:39
【问题描述】:

我们在 Azure 中有一个现有的 Web 应用程序,我们正在将 Node.js 网络作业部署到该应用程序。

我们目前正在构建 (CI) 过程中部署 webjob,方法是按照我找到的唯一教程将 run.js 和 node_modules 文件夹复制到 web 应用程序的 app_data/jobs/continuous 目录中,然后构建和部署 WebApp 本身使用 CD。

虽然这可行,但它似乎有点笨拙,并且由于 node_modules 目录中的文件数量巨大,现在部署 Web 应用程序需要很长时间。

是否有更自动化的方法,即将 node.js webjob 部署到现有的 web 应用程序?我可以找到这个场景的各种教程:asp.net 项目,但只有 node.js webjobs 的教程,在上面的第 2 段中描述)

更新

我正在使用 Amit 博客中的说明:http://blog.amitapple.com/post/74215124623/deploy-azure-webjobs/#.VyC06DArKHs

【问题讨论】:

  • 您的 WebApp 文件和 WebJobs 文件是否在同一个存储库中?
  • 是的,谢谢。

标签: node.js azure azure-devops azure-webjobs


【解决方案1】:

一般来说,如果您使用 Git 将您的 ASP.NET 应用程序部署到 Azure Web Apps 服务,您可以利用 npm manage file package.json 通过部署任务安装节点模块。

您可以尝试以下步骤:

  1. 在您的根目录路径中添加一个package.json 文件,其内容包括您所需的依赖项。 https://docs.npmjs.com/files/package.json#dependencies
  2. 如果您在 Visual Studio 中有项目,可以右键单击 wwwroot,然后单击 Add =>“新建项目”,然后在 Client-side 选项卡下,选择 NPM Configuration File 进行添加。 创建和配置 npm 配置文件后,Azure 部署任务将自动安装依赖项。
  3. 在您的存储库或项目的根目录中创建 webjob 脚本和文件夹。例如。 app_data\jobs\continuous\testwebjob\run.js。可以直接require模块,它会在根目录node_modules找到模块。

毕竟,您项目的根目录将具有类似的结构:

如有任何疑问,请随时告诉我。

【讨论】:

  • 感谢您的快速回复。不幸的是,我们没有使用 Asp.NET5(根据您对 wwwroot 的使用,我假设您在这种情况下),并且在 .NET Core 团队让该项目处于更稳定的状态之前,我们不会像我喜欢的那样它。如果您不是在谈论 Asp.NET5,那么在传统 Asp.NET 中如何使用 wwwroot 概念?
  • 我们已经在 CI 流程中使用了 npm,然后将流程复制到 webapp 中,然后使用 VSO 构建定义中的一系列任务进行构建和发布。之后我们使用 VSO 发布机制来部署站点。 CD 过程的发布部分花费的时间比预期的要长。我正在更新我的问题,并提供一个指向我用来设置此问题的博客的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 2017-12-14
  • 2016-09-25
相关资源
最近更新 更多