Как использовать команду публикации с Web Deploy для основных приложений asp.net - PullRequest
0 голосов
/ 18 мая 2018

У меня есть приложения ASP.NET Core 2.0, которые размещены в IIS на компьютере с Windows 2012RC2.Мы используем Дженкинс для CI.Следующие команды будут выполняться на сервере сборки, на котором установлен Jenkins.Пользователь, под которым работает Jenkins, имеет полный доступ к домену-администратору.

Для создания и развертывания приложения я хотел использовать опцию публикации профиля, как упомянуто здесь .
Так что ясоздал профиль публикации и выполнил следующую команду на сервере сборки

dotnet publish D:\Jenkins\MyProject\workspace\MyApplication\Src\Api\Api.csproj /p:PublishProfile=development.pubxml

он успешно собрал проект, но во время развертывания я получил ошибку:

MSDEPLOY: код ошибки: ERROR_DESTINATION_NOT_REACHABLE [D: \ Jenkins \ MyProject \ workspace \ MyApplication \ Src \ Api \ Api.csproj]

MSDEPLOY: ошибка: невозможно подключиться к удаленному серверу [D: \ Jenkins \ MyProject \ workspace \ MyApplication \ Src \Api \ Api.csproj]

MSDEPLOY: ошибка: попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение, поскольку подключенный хост не смог ответить XXXXXXXXXX: 8172

MSDEPLOY: количество ошибок: 1. [D: \ Jenkins \ MyProject \ workspace \ MyApplication \ Src \ Api \ Api.csproj]

Судя по ошибке, MSDEPLOY пытается использовать IIS Web Management Service, на целевом сервере не установлено Web Management Service.(а я не хочу).Вместо этого на целевом веб-сервере уже установлено Web Deployment Agent Service.

(Примечание. У меня есть другие классические веб-приложения ASP.NET, и Дженкинс может развернуть эти проекты на одном целевом сервере, используя MSBuild и службу агента веб-развертывания, поэтому я уверен, что соединение с сервера сборкицелевой веб-сервер там и работает)

Я не уверен, почему MSDEPLOY здесь пытается подключиться к Web Management Service вместо использования Web Deployment Agent Service.Вот разработка.pubxml

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <ProjectGuid>ec75aa7b-c5ca-4d08-a80e-0d70c604f85c</ProjectGuid>
    <MSDeployServiceURL>target machine name</MSDeployServiceURL>
    <DeployIisAppPath>MyIISApplicationPath</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <EnableMSDeployBackup>True</EnableMSDeployBackup>
    <UserName />
    <_SavePWD>False</_SavePWD>
    <AuthType>NTLM</AuthType>
  </PropertyGroup>
</Project>
...