【问题标题】:How to run Azure WebJob from vNext Build?如何从 vNext Build 运行 Azure WebJob?
【发布时间】:2015-11-17 23:30:58
【问题描述】:

有没有办法从 vNext 构建和部署运行 Azure WebJob? 我为我的 Azure Web App 创建了一个手动触发的 WebJob。它当前正在工作,当它运行时,它会读取一个 dbscript.sql 文件并针对 Web App 的数据库执行它;这有效地更新了我的数据库。现在,我想在新建和部署 Web 应用程序时运行此 WebJob,但不确定如何在 vNext 构建定义中完成此操作。

谢谢, 拉斯

【问题讨论】:

    标签: azure web-applications asp.net-core webjob


    【解决方案1】:

    您需要一种在部署时调用某些东西的方法。我不确定你现在是如何部署的,但让我们假设你正在使用 git。在后端,Azure 使用 Kudu 进行 git 部署。您应该能够自定义 Kudu 脚本以调用 powershell cmdlet 以将项目添加到队列中,然后触发 Web 作业。寻找部署后挂钩Deploying ASP.NET 5 application to Azure Web App using Git or Mercurialpost deployment hooks for Kudu

    因为文档说

    要添加部署后操作挂钩,您只需要
    在下面放置一个脚本文件(.bat 或 .cmd)
     站点\部署\工具\PostDeploymentActions。

    如果您在本地进行部署,部署后使用 azure-cli 使用以下命令触发 webjob(您需要填写作业和站点的详细信息) 来自azure-cli cheat sheet

    天蓝色网站作业开始

    回到 webjob - 由于您无法通过 restful 方法触发 WebJob,因此您需要让您的 webjob 由新的队列消息触发(如果您选择走那条路线)。您可以通过 powershell 执行此操作。 在下面查看如何将消息插入队列 Using Azure PowerShell with Azure Storage 然后会触发您的网络作业。

    最后,您可以运行一个 ASP.NET 5 应用程序的网络作业,并根据需要触发它以执行您自己的操作。通过这种方法,您可以轻松地使用 web api 执行相同的操作 - 但在这种情况下,最好通过队列消息触发 webjob 或使用 azure-cli,配置相对简单。

    【讨论】:

      猜你喜欢
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2015-09-15
      • 2016-09-22
      • 2016-12-07
      相关资源
      最近更新 更多