XCOPY auf Remote-Server
-
05-07-2019 - |
Frage
Um die Bereitstellung / Build-Prozess meines ASP.NET app zu verbessern, würde Ich mag eine .bat
machen, dass
- baut die aktuelle Lösung im Release-Modus
-
xcopy
die Dateien auf einem Remote-Server
über die Befehlszeile ein Release-Build erstellen ist recht einfach.
Aber wie kann ich die Dateien auf den Remote-Server xcopy?
Ich glaube, ich habe das Remote-Ziel zu einem Netzlaufwerk zuordnen (?). Ich konnte jedoch nicht auf den Remote-Server verbinden, obwohl ich die Dateifreigabe für den Ordner auf dem Server aktiviert habe. Vielleicht ist die Firewall die Anforderung blockiert? Welchen Port soll ich öffnen? Oder gibt es eine andere Lösung?
Bearbeiten
Danke für alle Antworten so weit, aber ich brauche wahrscheinlich einen Schritt für Schritt Anleitung, wie man die Ordnerfreigabe auf dem Server einzurichten. Ich teilte den Ordner, ich öffnete Port 445, so dass ich mit dem Server verbinden kann, aber immer noch, kann ich nicht von meinem lokalen Rechner auf den Server, um den Netzwerkpfad zu einem Systemlaufwerk verbinden abzubilden.
Lösung
Da Sie eine ASP.Net-Website bereitstellen, gehe ich davon aus, dass Sie in einer Windows-Umgebung, sind (nicht klug ist? :)).
DAMIT ! Vergessen Sie .bat und gehen für POWERSHELL
Wie auch immer, dies ist nicht Punkt Ihrer Frage ... So kopieren Sie auf einem Remote-Ordner sollten Sie die Rechte zu tun haben, so auf die Remote Computer.
Überprüfen Sie, ob Sie das gleiche Konto auf dem lokalen Computer und auf der Fernbedienung eine haben. wenn Sie auf Ihrem lokalen Computer in der Domäne „Arbeit“ mit dem Login „Pipo“ Zum Beispiel, angemeldet sind, müssen Sie die Rechte auf dieses Konto geben in Ihren speziellen Ordner auf dem Remote-Computer zu schreiben.
Sie können mit einem Rechtsklick auf den Ordner, Sicherheitsoptionen erreichen, dass, und dann die richtige Identität auswählen.
Hier ist eine Schritt-für-Schritt-Anleitung:
Andere Tipps
Es könnte sich lohnen, die Dateien mit XCOPY über einen UNC-Pfad zu bewegen
\\ machine \ Ordner
Das wird Sie benötigen Zugriff haben von den ursprünglichen Server in den Ordner. Überprüfen Sie, ob der Ordner freigegeben wurde, und dass die entsprechenden Lese- / Schreibrechte erteilt wurden.
Wenn der Server in Ihrem lokalen Netzwerk ist, würde ich statt robocopy
mit xcopy
vorschlagen - es hat viele weitere nützliche Optionen und die Fähigkeit, auf Fehler zu wiederholen. Es behandelt UNC-Namen ganz gut (wie ich glaube xcopy
auch tut). Ich denke, es auf neueren Windows-Clients verfügbar ist - wenn es nicht auf Ihrem Gerät ist Google für sie - es in verschiedenen Resource Kit Downloads verfügbar ist (ich weiß nicht, die Details, wenn / falls Microsoft beginnt es in der OS-Distribution, weil ich hatte es für eine lange, lange Zeit jetzt in meinem Utility-Kit).
Wenn der Server nicht lokal ist, können Sie Skript die Befehlszeile FTP-Client die Übertragung durchzuführen. Wenn Sie zusätzliche Flexibilität oder Sicherheit dort brauchen, sind viele andere Dateiübertragungsoptionen, einschließlich WinSCP .
Natürlich in jedem Fall (lokal oder remote Server), die Berechtigungen des Servers und Ihre Authentifizierung muss richtig eingestellt werden, damit diese eine Chance haben, zu arbeiten.
Sie können jeden beliebigen UNC-Pfad verwenden: \\machine\sharedFolder
. Wenn Sie nicht über einen freigegebenen Ordner einrichten möchten, können Sie eines der Laufwerke auf der Maschine verweisen auf ein $ -Zeichen mit: \\machine\c$\program files\etc
. Wenn Ihre Maschinen in Active Directory sind, oder wenn Sie einen lokalen Benutzer auf dem Zielcomputer mit dem gleichen Benutzernamen und ein Passwort wird Windows die Authentifizierung nahtlos verarbeiten.
Haben Sie versucht, es zu entfesseln?
http://www.eworldui.net/unleashit/
Es kann Dateien über Netzwerke hinweg bewegen, führen bittet-Dateien vor bauen, Datei Maskierung, etc ...
Früher habe ich es zu benutzen, bevor sie auf .net 1.1-Projekte.
Ich glaube, Sie wollen:
XCOPY c:\myproject\build\*.* \\server\\build\ /S /E
Alle oben genannten scheinen große Antworten zu sein - Sie bei Verwendung eines msbuild Skript und die msbuild Gemeinde Aufgaben all dies zu tun aussehen könnte -. Sie können Build Reißverschluss und es zu einem Remote-Server ftp
Ich habe das gerade eingestellt ist für einen unserer Standorte auf, nahm ein paar Stunden, meinen Kopf um es zu bekommen, aber es baut den Standort in Release, aktualisiert die Konfigurationsdateien für die Produktion, entfernt überflüssige Dateien und dann funktioniert die laden.
nach hier für so viele Antworten suchen, ist die Lösung
"xcopy D:\\folder\\container \\\\servername\\folder\\container\\ \/E \/H \/Y"