Nachdem ich alle üblichen Verdächtigen überprüft habe, bin ich etwas ratlos.
Eines der verblüffendsten Dinge ist, dass ich über Visual Studio auf dem Build-Agent-Server bereitstellen kann, indem ich dieselbe URL zum selben Server und denselben Code verwende (ich habe die Visual Studio-Lösung buchstäblich aus dem Build-Agent- s
Ordner des neuesten Builds kopiert).
Beim Erstellen über TFS 2015 sehe ich jedoch Folgendes:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.targets(4276,5): Fehler: Webbereitstellungsaufgabe fehlgeschlagen. (Die Anforderung an die Remote-Agent-URL konnte nicht abgeschlossen werden.https://siteurl:8172/msdeploy.axd?site=sitename'.)
Dieser Fehler zeigt an, dass Sie keine Verbindung zum Server herstellen können. Stellen Sie sicher, dass die Dienst-URL korrekt ist, die Firewall- und Netzwerkeinstellungen auf diesem Computer und auf dem Server-Computer richtig konfiguriert sind und die entsprechenden Dienste auf dem Server gestartet wurden.
Fehlerdetails:
Die Anforderung an die Remote-Agent-URL ' konnte nicht abgeschlossen werden.https://siteurl:8172/msdeploy.axd?site=sitename'.
Die zugrunde liegende Verbindung wurde geschlossen: Beim Senden ist ein unerwarteter Fehler aufgetreten.
Daten aus der Transportverbindung können nicht gelesen werden: Eine bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen.
Eine bestehende Verbindung wurde vom Remote-Host zwangsweise geschlossen
Darüber hinaus zeigt das WMsvc-Protokoll auf dem Ziel-IIS-Server keine Anforderung an, die den Server erreicht, wenn TFS den Build durchführt. Wenn Visual Studio den Build jedoch durchführt, erreicht sie den Server.
Die in TFS übergebenen MSBuild-Argumente (Zeilenumbrüche zur besseren Lesbarkeit hinzugefügt):
/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
Die Build-Definition wurde von einem anderen funktionierenden Build kopiert. Die einzigen Änderungen waren die URL und die Konfiguration.
Es scheint ein Netzwerkproblem zu sein, aber ich weiß nicht, warum es vom selben Server über Visual Studio funktionieren sollte, aber nicht über TFS, wenn die Quelle (TFS Build Agent-Server) und das Ziel (IIS-Webserver) identisch sind, der Port derselbe ist und beide https, Web Deploy usw. verwenden.
Irgendwelche Ideen zur weiteren Fehlerbehebung?
Zusätzliche Information:
Zielserver: Windows Server 2012R2 (VM auf Azure)
Antwort1
Überprüfen Sie, ob TLS nicht übereinstimmt. Wir haben den Registrierungsschlüssel SchUseStrongCrypto verwendet, um TLS 1.2 auf einem Computer zu erzwingen und auf dem anderen nicht. Dies führte zu dem gleichen „gewaltsamen Schließen“, wie es der OP erlebt hat. Weitere Einzelheiten finden Sie hier im Blog.https://fuseit.zendesk.com/hc/en-us/articles/360000328595