TFS 2015 Невозможно развернуть на конкретном сервере, но Visual Studio может с сервера Build Agent

Я немного растерялся, проверив всех обычных подозреваемых.

Одна из самых непонятных вещей заключается в том, что я могу выполнить развертывание через Visual Studio на сервере агента сборки, используя тот же URL-адрес на том же сервере, тот же код (буквально скопировал решение Visual Studio из агента сборки s последней сборки)

Однако при сборке с помощью TFS 2015 я вижу следующее:

C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft .Web.Publishing.targets (4276,5): Ошибка: не удалось выполнить задачу веб-развертывания. (Не удалось выполнить запрос к URL-адресу удаленного агента ' https: // siteurl: 8172 / msdeploy.axd? Site = sitename '.)

Эта ошибка означает, что вы не можете подключиться к серверу. Убедитесь, что URL-адрес службы правильный, брандмауэр и сетевые параметры на этом компьютере и на сервере настроены правильно, а соответствующие службы были запущены на сервере.

Сведения об ошибке:

Не удалось выполнить запрос на URL удаленного агента ' https: // siteurl: 8172 / msdeploy.axd? site = sitename '.

Базовое соединение было закрыто: при отправке произошла непредвиденная ошибка.

Невозможно прочитать данные транспортного соединения: существующее соединение было принудительно закрыто удаленным узлом.

Существующее соединение было принудительно закрыто удаленным узлом

Кроме того, журнал WMsvc на целевом сервере IIS не показывает, что запрос, попадающий на сервер, когда TFS выполняет сборку, однако, когда Visual Studio выполняет сборку, она достигает сервера.

Аргументы MSBuild, переданные в TFS (разрывы строк добавлены для удобства чтения):

/p:GenerateBuildInfoConfigFile=false 
/p:DeployOnBuild=true;
DeployTarget=MSDeployPublish;
MSDeployPublishMethod=WMSvc;
EnableMSDeployBackup=False;
DeployIisAppPath=sitename;
MsDeployServiceUrl=https://siteurl:8172/msdeploy.axd;
AllowUntrustedCertificate=True;
username=$(Web Deploy Username);
password=$(Web Deploy Password);
SkipExtraFilesOnServer=True

Определение сборки было скопировано из другой рабочей сборки с единственными изменениями в URL и конфигурация.

Похоже, это проблема сети, но я не знаю, почему она будет работать с того же сервера через Visual Studio, но не через TFS, если источник (сервер агента сборки TFS) и место назначения ( IIS Web server) одинаковы, порт одинаковый, оба используют https, Web Deploy и т. Д.

Есть идеи относительно дальнейшей отладки?

Дополнительная информация:

Целевой сервер: Windows Server 2012R2 (виртуальная машина в Azure)

1
задан 18 January 2017 в 23:27
1 ответ

Проверить несоответствие TLS. Мы использовали регистрационный ключ SchUseStrongCrypto, чтобы принудительно использовать TLS 1.2 на одном компьютере, а не на другом. Это привело к «принудительному закрытию», как и в случае с ОП. Подробности в блоге https://fuseit.zendesk.com/hc/en-us/articles/360000328595

0
ответ дан 4 December 2019 в 05:21

Теги

Похожие вопросы