Glücklicherweise ist das Deployment einer ASP.NET-Anwendung relativ einfach. Die meisten ASP.NET-Entwickler sind mit dem so genannten XCopy-Deployment-Prozess vertraut, der im Wesentlichen darin besteht, den gesamten Inhalt des Entwicklungs-Builds auf den Test-Server zu kopieren.
Der Autor dieses Artikels zieht es persönlich vor, dass kein Source-Code auf dem Test- oder Produktions-Server landet. Daher wird hier beim XCopy-Deployment ein Zwischenschritt implementiert, bei dem alle Dateien herausgefiltert werden, die für die Test- und Produktions-Builds nicht erforderlich sind.
Im Rahmen dieses Artikels wird der Prozess der Erstellung eines Test-/Produktions-Builds nur kurz angesprochen, denn die wenigsten Entwickler dürften Zugang zu mehreren Servern haben. Also geht es gleich mit dem Erstellen des Deployment-Scripts für Toms Anwendung los.
Hierzu wechselt man in den Ordner auf der Festplatte, in dem Toms B2B-Anwendung gespeichert ist, und erstellt einen Unterordner namens „deploy“. Es ist wichtig, dies nicht innerhalb von Visual Studio zu tun, da dieser Ordner nicht in der tatsächlichen Anwendungsumgebung enthalten sein soll, sondern einfach ein unterstützendes Element für die Anwendung darstellt.
Innerhalb dieses deploy-Verzeichnisses erstellt man zwei neue Dateien namens DeployWSB2BTom.cmd (Listing A) und ExcludedProjectFiles.txt (Listing B).
Die .cmd-Datei öffnet ein Kommandozeilenfenster und verwendet den schlichten DOS-Befehl XCopy um die Verzeichnisstruktur von Toms Anwendung an einen neuen Ort zu kopieren. In dieser Datei wird man die Pfadangaben an die korrekten Pfade zu Toms Anwendung auf der eigenen Festplatte anpassen müssen. Auch die korrekte Struktur des Zielordners muss erstellt werden.
Wie man sieht, bringt der Befehl XCopy eine Reihe von Parametern mit sich. Der Parameter /S gibt an, dass auch alle Unterverzeichnisse kopiert werden sollen, und der Parameter /Y unterdrückt die Aufforderung zur Bestätigung, dass eine vorhandene Zieldatei überschrieben werden soll. Der letzte Parameter verweist auf die Textdatei ExcludedProjectFiles.txt, die eine Liste der Dateien enthält, die nicht ins Zielverzeichnis kopiert werden sollen.
Innerhalb dieser Textdatei gibt es eine Reihe von bestimmten Dateierweiterungen sowie Verzeichnissen, die ausgeschlossen werden. Alle Dateien, Ordner und globalen Dateierweiterungen, die für Produktionszwecke nicht erforderlich sind, sind in dieser Textdatei aufgeführt, pro Zeile jeweils ein Eintrag. Die ausgeschlossenen Dateien und Verzeichnisse dienen entweder nur zu Debugging-Zwecken oder sie haben für die Funktion der Anwendung keine Bedeutung.
Bevor man dieses Befehls-Script ausführt, sollte man die Datei von Toms ASP.NET-Lösung in Visual Studio .NET öffnen. Mit einer einfachen Einstellung kann man dafür sorgen, dass die Anwendung für Produktionszwecke optimal kompiliert wird: Neben der Schaltfläche „Ausführen“ gibt es in der Visual Studio .NET-IDE ein Drop-down-Menü, das im Moment „Debug“ anzeigt. Hier sollte man „Release“ auswählen.
Indem man diese Änderung vornimmt, weist man Visual Studio an, die Anwendung ohne Debug-Symbole und Debug-Informationen zu kompilieren, unter Verwendung der abweichenden Parameter, wie sie im Konfigurations-Manager festgelegt sind. Da die Beispielanwendung keine besonderen Änderungen im Konfigurations-Manager erfordert, reicht es, im Drop-down-Menü auf den „Release“-Modus umzuschalten und dann ein Rebuild der Anwendung durchzuführen.
Sobald die Anwendung erneut kompiliert wurde, kann man das Deployment-Script ausführen. Dabei sollte man die Pfadangaben noch einmal überprüfen um sicherzustellen, dass dort die korrekten Verzeichnisstrukturen angegeben sind. Dann klickt man doppelt auf die Datei DeployWSB2BTom.cmd in Toms Deploy-Verzeichnis. Es öffnet sich ein Kommandozeilenfenster, in dem alle kopierten Dateien angezeigt werden. Nach Abschluss des Kopiervorgangs hält das Script an. Durch Drücken einer beliebigen Taste kann man das Fenster schließen.
Diese Funktionen müssen nun auch für Johns Anwendung durchgeführt werden. Dazu wiederholt man denselben Prozess, indem man einen deploy-Unterordner unter Johns Haupt-Anwendungsverzeichnis erstellt. Man erstellt zwei neue Dateien namens DeployWSB2BJohn.cmd (Listing C) und ExcludedProjectFiles.txt (Listing D).
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.