azure - 如何使用 azure DevOps 在单个应用程序服务中部署多个 .net core webjob?

标签 azure azure-devops azure-webjobs .net-core-3.1

我在一个解决方案中有 2 个 .NET Core 3.1 WebJob。 我能够构建每个 Webjobs 并为每个作业创建 .zip 文件,其中文件夹结构采用以下格式:

TestJob_1.zip --- App_Data\jobs\continuous\TestJob_1

TestJob_2.zip --- App_Data\jobs\continuous\TestJob_2

现在,为了部署我的两个 webjob,我添加了 2 个“Azure 应用服务任务”,指向相同的应用服务,并分别为每个 webjob 指定了如下文件夹位置。

enter image description here

现在,如果我运行发布管道,我的所有任务都会成功完成。当我 checkin 应用服务时,我看到仅发布了 TestJob_2。

之后,我禁用了与 TestJob_2 webjob 相关的任务,并仅使用 TestJob_1 的任务运行管道,现在当我检查时,TestJob_2 webjob 被 TestJob_1 webjob 替换,我可以看到 TestJob_1 但看不到 TestJob_2。

请在这里帮助我。

最佳答案

  1. 您需要将网络作业与网络应用程序关联起来,方法是右键单击您的 Visual Studio 中的 Web 应用项目并选择添加> 现有项目 作为 Azure WebJob 并按照向导进行操作。
  2. webjobS包含在web应用程序包中,那么你只需要 将 Web 应用部署到 Azure 应用服务。
  3. 发布时也会生成webjob的包(所以 有两个zip文件),但你只需要指定web应用程序 Azure 应用服务部署任务中的包。 (选中使用 Web 发布 部署选项)。确保“从 App_data 中排除文件” 文件夹”未选中:

enter image description here

详情可以查看这个ticket .

关于azure - 如何使用 azure DevOps 在单个应用程序服务中部署多个 .net core webjob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63860046/

相关文章:

azure - 使用 AzureWebJobsSDK ErrorTrigger 扩展进行错误监视不起作用

具有 Windows Live ID 身份验证的 Azure Multi-Tenancy 应用程序

java - 如何在 Azure 的 Spring Cloud Functions 中 Autowiring 我的 Bean?

azure - 如何针对 Visualstudio.com 进行身份验证?

tfs - Visual Studio 团队服务 API

c# - 从azure中的webjobs读取webapp的web.config

azure - Microsoft 认知服务翻译器 API 剩余字符

java - 使用java SDK向blob添加标签

Azure - 未找到与请求 URI 匹配的 HTTP 资源

azure - Webjob 不使用 appsettings.env.json