Azure devops 使用VSO在同一sln中部署azure网站和webjobs-错误-只能有一个

Azure devops 使用VSO在同一sln中部署azure网站和webjobs-错误-只能有一个,azure-devops,azure-web-app-service,azure-webjobs,azure-pipelines,Azure Devops,Azure Web App Service,Azure Webjobs,Azure Pipelines,我在同一sln中访问了一个网站和一个webjob项目: Sritt(网站) Sritt.Webjob 在Sritt的属性中,有一个webjobs list.json具有以下设置: "WebJobs": [ { "filePath": "../Sritt.WebJob/Sritt.WebJob.csproj" } 我已将by VSTS构建配置为如下(使用新的构建系统): 在VSTS中构建会给我以下警告: C:\a\1\s\packages\Microsoft.W

我在同一sln中访问了一个网站和一个webjob项目:

  • Sritt(网站)
  • Sritt.Webjob
Sritt
的属性中,有一个
webjobs list.json
具有以下设置:

"WebJobs": [
    {
      "filePath": "../Sritt.WebJob/Sritt.WebJob.csproj"
    }
我已将by VSTS构建配置为如下(使用新的构建系统):

在VSTS中构建会给我以下警告:

 C:\a\1\s\packages\Microsoft.Web.WebJobs.Publish.1.0.9\tools\webjobs.console.targets(149,5): warning : WebJob schedule for SrittWebJob will not be created. WebJob schedules can only be created when the publish destination is an Azure Website [C:\a\1\s\Sritt.WebJob\Sritt.WebJob.csproj]
以及以下错误:

packageFile= Find-Files -SearchPattern C:\a\1\a\**\*.zip
packageFile= C:\a\1\a\Sritt.WebJob.zip C:\a\1\a\Sritt.zip
Found more than one file to deploy with search pattern 'C:\a\1\a\**\*.zip'. There can be only one.  

如何部署网站和webjob?是否需要将它们拆分为不同的解决方案?

此错误与发布WebJob无关,而是与发布Azure计划程序更改有关。通常,已知msbuild中的Azure计划配置存在问题,因此不再推荐使用

相反,建议的方法是使用新的基于WebJobs cron的时间表,它没有这些问题。有关设置的更多详细信息,请参阅(非常简单)。

您似乎正在使用“Azure Web App部署”任务部署项目。您不需要将它们拆分为不同的解决方案,但需要在单独的任务中部署它们

因此,您需要在构建定义中再添加一个“Azure Web App部署”任务。除了“Web部署包”部分外,这两个任务的设置几乎相同:
一个是“$(build.artifactstagindirectory)\**\Sritt.zip”,另一个是“$(build.artifactstagindirectory)\**\Sritt.WebJob.zip”。

感谢您的关注。我是在“共享”模式下运行的,文档中说cron只对Standard或Premium可用。我不确定你所说的“…但是发布Azure调度器的更改”是什么意思。你是说“webjob publish settings.json”吗?它确实需要基本或更高的设置(doc称为标准或高,但不正确),因此它无法在共享模式下工作。使用Azure调度器时,VS发布过程会做两件截然不同的事情。首先,它将Web作业发布到Azure应用程序服务。其次,它配置Azure调度程序。我的澄清是,您得到的错误与Azure调度器部分有关,而不是WebJob部分。谢谢,这解决了问题。还感谢您花时间写出要使用的实际设置:-)您好-这可能是一个新问题,以防万一很容易:部署后,我无法打开网站,我得到了黄页,打开调试-但它已经打开了。当我添加webjob项目时,整个网页似乎都被删除了。删除该项目并重新发布所有内容再次生效。有什么想法吗?@Larsi你能不能打开一个新的案例,包括更多的细节,比如你删除了哪个项目,部署后得到了什么页面?@Larsi顺便说一句,我忘了提到如果创建了webjobs并将其添加到项目中,你只需要部署该项目,webjob应与项目一起部署。部署网站只会删除该错误,谢谢。顺便说一句,我刚刚发现(艰难的方式)没有.NET4.6.1支持-你知道什么时候会支持吗?
packageFile= Find-Files -SearchPattern C:\a\1\a\**\*.zip
packageFile= C:\a\1\a\Sritt.WebJob.zip C:\a\1\a\Sritt.zip
Found more than one file to deploy with search pattern 'C:\a\1\a\**\*.zip'. There can be only one.