2008-08-21 6 views
0

OK eine echte Frage - Ich möchte die Fähigkeit für Benutzer eines Systems, das ich entwickelt habe, Paket eine Reihe von Änderungen zusammen zu machen, so dass sie ihr Paket von Änderungen bereitstellen können eine Acceptance-Testing-Umgebung, führen Sie ihre Tests durch, und dann zu einem späteren Zeitpunkt (wenn der Test erfolgreich war), stellen Sie dieses Paket von Änderungen in einer Live-Umgebung bereit.Generisches Design für die Verpackung von Benutzeränderungen für die Bereitstellung

Das System in diesem Fall ist J2EE Webapp Aktualisierung relationale Datenbank Datensätze, aber es scheint irgendwie wie dieses Paket und Bereitstellung Fähigkeit sollte nicht wirklich für meine App spezifisch sein und wiederverwendbare Pluggable-Funktionalität sein könnte, wenn ich darüber gehe richtiger Weg.

Wer kennt schon existierende Lösungen, die angewendet werden könnten, oder hat irgendwelche Ratschläge bekommen, wie man am besten vorgeht?

Antwort

1

Wenn Sie das also richtig lesen, möchten Sie Ihren Endbenutzern die Möglichkeit geben, eine Reihe von Transaktionen von einem System zu übernehmen und sie automatisch auf einem anderen System auszuführen.

Ich würde vorschlagen, etwas in zwei Schritten zu entwerfen. Baue zuerst den Mechanismus. Ich würde denken, dass dies die Erstellung einer einfachen Skript-Engine erfordern würde, die eine flache Datei mit Befehlen in der Reihenfolge akzeptiert. Testen Sie die Funktionalität und stellen Sie sicher, dass die Befehle funktionieren.

Der zweite Schritt ist es, Endbenutzer freundlich zu machen. Für die meisten Benutzer bedeutet dies eine Art "Skript-Generator", mit dem sie leicht portable Skripte erstellen können.

Diese Art von Lösung sollte portabel sein, wenn sie für die Portabilität ausgelegt ist. : D

0

Wenn Sie in einer Linux-Umgebung arbeiten, überprüfen Sie RPM. Ich habe in der Vergangenheit Systeme aufgebaut, die automatisch einen Codezweig von CVS auschecken, ihn zusammenpacken, auf ein Prod/UAT-System übertragen, Tests ausführen und installieren, weitere Tests durchführen und eine Status-E-Mail generieren.

Der beste Teil bei der Verwendung von RPM ist, dass Sie das Paket deinstallieren und Skripts (innerhalb des RPM) konfigurieren können, um vor oder nach der (Un) Installation jede Art von benutzerdefinierten Aufgaben auszuführen.