Ich versuche, einen Weg zu finden, um ASP.NET-Code mit möglichst geringer Störung der Site bereitzustellen. Ein Gedanke war es , die Seite einrichten, um von einem NTFS - Übergang serviert werden , c:\www\example.com
wo
c:\www\example.com -> c:\www\example.com_r1234
Wenn dann neuer Code bereitgestellt wird, wird er kopiert c:\www\site.com_r1235
und die Junction neu ausgerichtet
c:\www\example.com -> c:\www\example.com_r1235
Meine Frage ist also, welche Auswirkungen dies auf aktuelle Anforderungen in IIS haben könnte. Welche anderen Nachteile könnte dies unter dem Gesichtspunkt der Reaktion von IIS auf die Änderung haben (falls vorhanden)? Wird dies für den Endbenutzer der Website so nahtlos sein, wie ich hoffe?
(Ich habe überlegt, das Stammverzeichnis der Website über die Befehlszeile zu ändern. Die Idee, IIS neu zu konfigurieren, gefällt mir jedoch nicht, da möglicherweise unnötige App-Domänen oder App-Pool-Abwanderungen auftreten, über die ich jedoch nicht viel weiß Was passiert, wenn der konfigurierte physische Pfad eines Standorts unter Last geändert wird?
Um es klar auszudrücken, meine einzige Sorge ist die Erfahrung meiner Endbenutzer. Mein Ziel ist es, Störungen für sie zu vermeiden, nicht Bequemlichkeit für mich.
quelle
Antworten:
Anscheinend sind dieses Ziel und Ihre vorgeschlagene Lösung nicht aufeinander abgestimmt, da für jede Bereitstellung eine Reihe zusätzlicher Arbeiten oder Skripts erforderlich sind.
Eine Sache, die ich gesehen habe, ist die Installation eines SVN-Clients auf dem Produktionsserver, und der Produktionsstandort ist eine ausgecheckte Kopie eines bestimmten Standorts / Zweigs in der Quellcodeverwaltungsstruktur. Auf diese Weise müssen Sie zumindest nur geänderte Dateien für neue Bereitstellungen aktualisieren.
quelle
Ich habe hinter meinem Webstamm einen Ordner namens erstellt
_images
kopierte dann eine Reihe von GIF-Dateien hinein. Ich habe dann einen symbolischen NTFS-Link in meinem Root erstellt
In Visual Studio 2010 wird "Show All Files" (Alle Dateien anzeigen) aktualisiert und die neuen "Webimages" in mein Projekt eingefügt. Ich kann jetzt auf ...
Wenn ich die App starte, funktioniert sie auch auf meinem lokalen Computer einwandfrei.
Ich werde nicht wissen, ob es auf dem realen Server (IIS 7) funktioniert, bis die Infrastruktur dies in den Griff bekommt. Weiß jemand, warum dies in der Produktion nicht funktioniert?
Ich denke, solange die Rechte vorhanden sind, sollte dies der Fall sein, und wenn ja, was für eine großartige Möglichkeit, die Freigabe von Ordnern (aller Art) zwischen Web-Apps zu vereinfachen.
Ich habe noch nicht versucht, dies in TFS auszudrücken. Wenn also jemand Feedback dazu hat, lass es uns wissen!
quelle
Dies funktioniert nicht, da IIS möglicherweise glaubt, dass sich die Datei web.config durch ein anderes Programm geändert hat. IIS wird wahrscheinlich eine System.Configuration.ConfigurationErrorsException-Ausnahme auslösen. Ich würde vorschlagen, eine Art Skript zu schreiben, um nur das Ausgangsverzeichnis der Site zu ändern.
quelle