私は同じslnのウェブサイトとウェブジョブプロジェクトに行きました:
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ジョブの両方をデプロイするにはどうすればよいですか?それらを異なるソリューションに分割する必要がありますか?
「AzureWebAppDeployment」タスクを使用してプロジェクトをデプロイしているようです。それらを異なるソリューションに分割する必要はありませんが、別々のタスクに展開する必要があります。
そのため、ビルド定義に「Azure WebAppDeployment」タスクをもう1つ追加する必要があります。 「WebDeployPackage」セクションを除いて、これら2つのタスクの設定はほぼ同じです。1つは「$(build.artifactstagingdirectory)\ **\Sritt.Zip」で、もう1つは「$(build.artifactstagingdirectory)\ **」です。\Sritt.WebJob.Zip "。
このエラーは、WebJobの公開ではなく、AzureSchedulerの変更の公開に関連しています。一般に、msbuildからのAzureスケジュール構成には問題があることがわかっているため、推奨されなくなりました。
代わりに、推奨されるアプローチは、これらの問題がない新しいWebJobscronベースのスケジュールを使用することです。これを設定する方法の詳細については、 docs を参照してください(非常に簡単です)。