Публикация службы приложений Azure с помощью автозапуска дает ошибку ERROR_SITE_SWAP_OPERATION_IN_PROGRESS
Я пытаюсь опубликовать AppService
с помощью hot-swap
с auto-swap
включен. Я могу сделать это без каких-либо проблем с помощью Visual Studio, но не с помощью CI, который использует программу публикации и не может завершить публикацию со следующей ошибкой:
C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.Web.Publishing.targets (4276,5): ошибка msdeploy ERROR_SITE_SWAP_OPERATION_IN_PROGRESS: сбой задачи веб-развертывания. (В настоящее время выполняется операция обмена сайтом. Подробнее читайте по адресу: http://go.microsoft.com/fwlink/?LinkId=221672.)
Несмотря на то, что я получаю сообщение об ошибке, операции публикации и автоматической замены выполняются без проблем. Ошибка, однако, не позволяет моему заданию CI завершиться.
Мой издательский профиль:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
<PublishProvider>AzureWebSite</PublishProvider>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://my-cool-site-swap.azurewebsites.net</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>False</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<MSDeployServiceURL>my-cool-site-swap.scm.azurewebsites.net:443</MSDeployServiceURL>
<DeployIisAppPath>my-cool-site-swap</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>$my-cool-site__swap</UserName>
<Password>...password...</Password>
<AllowUntrustedCertificate>True</AllowUntrustedCertificate>
<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
</PropertyGroup>
</Project>
И команда CI, чтобы запустить его:
C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin \ MSBuild.exe " /p: Конфигурация = Выпуск" / p: Платформа = Любой ЦП " /p:DeployOnBuild=true /p:PublishProfile=my-cool-profile
ОБНОВЛЕНИЕ: я обнаружил, что двоичные файлы веб-сайта выдвигаются правильно, в то время как библиотеки веб-заданий устарели и не выдвигаются при любых развертываниях. Кажется, что автоматическая замена запускается раньше, чем msdeploy выталкивает часть двоичных файлов webjobs, поэтому у меня устарели webjobs и ошибка публикации.
Что может быть не так с профилем публикации или тем, как я его выполняю?