web-dev-qa-db-ja.com

VSOを使用してAzureWebサイトとWebジョブを同じslnにデプロイする-エラー-1つしか存在できません

私は同じslnのウェブサイトとウェブジョブプロジェクトに行きました:

  • Sritt(ウェブサイト)
  • Sritt.Webjob

Srittのプロパティには、次の設定のwebjobs-list.jsonがあります。

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

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

WebサイトとWebジョブの両方をデプロイするにはどうすればよいですか?それらを異なるソリューションに分割する必要がありますか?

11
Larsi

「AzureWebAppDeployment」タスクを使用してプロジェクトをデプロイしているようです。それらを異なるソリューションに分割する必要はありませんが、別々のタスクに展開する必要があります。

そのため、ビルド定義に「Azure WebAppDeployment」タスクをもう1つ追加する必要があります。 「WebDeployPackage」セクションを除いて、これら2つのタスクの設定はほぼ同じです。1つは「$(build.artifactstagingdirectory)\ **\Sritt.Zip」で、もう1つは「$(build.artifactstagingdirectory)\ **」です。\Sritt.WebJob.Zip "。

24

このエラーは、WebJobの公開ではなく、AzureSchedulerの変更の公開に関連しています。一般に、msbuildからのAzureスケジュール構成には問題があることがわかっているため、推奨されなくなりました。

代わりに、推奨されるアプローチは、これらの問題がない新しいWebJobscronベースのスケジュールを使用することです。これを設定する方法の詳細については、 docs を参照してください(非常に簡単です)。

1
David Ebbo