gpt4 book ai didi

azure - 如何从 vNext Build 运行 Azure WebJob?

转载 作者:行者123 更新时间:2023-12-03 04:32:52 25 4
gpt4 key购买 nike

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

谢谢,拉斯

最佳答案

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

要尝试的一件事可能更简单,就是简单地在 Kudu 的部署后 Hook 上调用代码(而不是尝试使用网络作业),因为文档说

To add a post deployment action hook you simply need to place a script file (.bat or .cmd) under site\deployments\tools\PostDeploymentActions.

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

azure site job start

回到 WebJob - 由于您无法通过 Restful 方法触发 WebJob,因此您需要通过新的队列消息触发 WebJob(如果您选择采用该路线)。您可以通过 powershell 来完成此操作。查看下面如何将消息插入队列 Using Azure PowerShell with Azure Storage这将依次触发您的网络作业。

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

关于azure - 如何从 vNext Build 运行 Azure WebJob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com