使用 azure devops 管道将控制台 webjob 应用程序部署到包含 webapi 的 azure 应用程序服务

New*_*vRo 5 azure .net-core azure-devops azure-pipelines

我有 2 个用 .net core 2.2 编写的 webAPI。这 2 个 web api 是由 web 作业触发的,它们是 .netcore 2.2 中的控制台应用程序。它们都是不同的项目,并且位于 Azure DevOps 中的不同存储库中。

我正在尝试使用 Azure DevOps 构建和发布管道将 Web Api 与 webjob 一起部署到 Azure 中的 2 个 Web 应用服务(例如:WebApi1 + Web job1 到 App service1 和 WebApi2 + Web job2 到 App service2)中。

我可以从 Azure 门户将 webjobs 手动添加到应用服务中,并且工作正常。但我想使用 Azure DevOps 管道部署它。

我尝试了不同的方法来使用应用服务中的 web api 发布 web 作业(控制台应用程序),例如尝试将其从 Azure DevOps 发布到 App_Data 文件夹。

我主要关注下面的博客。

https://www.andrewhoefling.com/Blog/Post/deploying-dotnet-core-webjobs-to-azure-using-azure-pipelines

但是当我尝试发布 webjob 时,它会覆盖 web api 代码(所有 4 个项目都有单独的构建/发布管道)。webjob 代码部署在 site/wwwroot 文件夹而不是 site/job 文件夹中。

在此处输入图片说明

我的构建步骤:

在此处输入图片说明 在此处输入图片说明

我的发布步骤:

在此处输入图片说明

我不确定我做错了什么。有没有办法将 webjobs 文件复制到同一个应用程序服务中而不覆盖实际的 webapi 代码?

Dan*_*iel 5

我在 github repo azure-webjobs-sdk上问了一段时间这个问题,但答案也没有帮助我......

我尝试了以下方法,它对我有用:

  1. 在 Azure 门户中导航到:应用服务>配置>路径映射>虚拟应用程序和目录

在此处输入图片说明

  1. 在 DevOps 中配置您的构建管道,例如: 在此处输入图片说明

  2. 配置您的发布管道,如: 在此处输入图片说明

配置任务:

在此处输入图片说明