Мне удалось воспроизвести тот же сценарий. К сожалению, я не нашел способа исправить это с помощью задачи настройки AzureRmWebAppDeployment. Похоже, задача автоматически использует kudu для копирования файлов в службу приложений Azure, а msdeploy используется для развертывания файлов в нестратегическом конвейере. Вы можете сообщить об этой проблеме здесь .
Я нашел обходной путь, изменив аргументы msbuild задачи vsbuild и добавив задачу zip-архива. Проверьте ниже:
Используйте /t: publish
, чтобы опубликовать сборки в папку $(build.artifactstagingdirectory)\publish
для архивирования в задаче ArchiveFiles
.
- task: VSBuild@1
displayName: 'Build solution **\*.sln'
inputs:
msbuildArgs: '/t:publish /p:outputpath="$(build.artifactstagingdirectory)\\"'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
clean: true
restoreNugetPackages: true
Используйте задачу archiveFiles
, чтобы сжать все файлы в папке \publish
сверху, шаг.
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.ArtifactStagingDirectory)\\publish\\*'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/package/$(Build.BuildId).zip'
replaceExistingArchive: true
Используйте задачу PublishBuildArtifacts
, чтобы опубликовать файл ZIP, созданный вышеstep
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)\\package\\'
artifactName: 'strategy'
При выполнении вышеуказанных шагов zip-файл, загруженный на этапе Deploy, будет содержать только развернутый код.
Надеюсь, что вышеприведенный шаг будет вам полезен.