11

我在同一个 sln 中有一个网站和一个 webjob 项目:

  • 斯里特(网站)
  • Sritt.Webjob

Sritttheres的属性中webjobs-list.json具有以下设置:

"WebJobs": [
    {
      "filePath": "../Sritt.WebJob/Sritt.WebJob.csproj"
    }

我已经像这样配置了 VSTS 构建(使用新的构建系统):

Solution: **\*.sln    
MSBuild Args: /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.stagingDirectory)"

在 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.  

如何部署网站和网络作业?我需要将它们分成不同的解决方案吗?

4

2 回答 2

24

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

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

于 2016-02-17T06:50:21.010 回答
1

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

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

于 2016-02-13T22:03:51.980 回答