Hallo,
ich stehe im Moment vor der Aufgabe ein Projekt mit unterschiedlichen kundenspezifischen Release-Builds zu verwalten. Es handelt sich um ein Applikation, die als Servlet im tomcat läuft und Hibernate als Datenbankanbindung verwendet. Bislang war die Software so gestaltet, dass jedes Release exakt identisch ist, lediglich unterschiedliche Datenbankverbindungsdaten enthält. Da die Anzahl der Releases noch recht übersichtlich ist, stellt es bislang kein Problem dar, die Verbindungsdaten von hand zu ändern, das WAR-file zu builden und auf dem entsprechenden Tomcat zu deployen.
Leider beginnen jetzt die ersten Anforderungen, dass einige spezialisierte Anpassungen für einige Kunden vorgenommen werden. Das sieht im Grunde so aus, dass einige Klassen für die GUI an die Kundenwünsche angepasst werden müssten und ich somit eine Klasse mehrfach verwalten müsste. Es handelt sich hierbei aber effektiv um weniger als 1% der verwendenten Klassen. Alle anderen unterliegen dem normalen Release und Update Prozess, so dass Bugfixes immer an alle Kunden verteilt werden können.
Ein weiterer Verwaltungsaufwand entsteht, wenn die Menge der Kundenprojekte die Übersichtlichkeit verliert und ein manuelles Anpassen der Datenbankkonfigurationen zu aufwendig wird.
Ich suche nun nach Lösungsansätzen wie ich diese beiden Probleme gut in den Begriff bekommen kann und die Aufwände für das Builden und die Codeverwaltung reduzieren kann. Ich lese mich im Moment in Tools wie Ant und Maven ein, bin mir aber nicht sicher ob ich damit alles abdecken kann. Welche Empfehlungen zu Tools, Prozessen und Literatur könnt ihr mir geben?
Viele Grüße
Togaras
ich stehe im Moment vor der Aufgabe ein Projekt mit unterschiedlichen kundenspezifischen Release-Builds zu verwalten. Es handelt sich um ein Applikation, die als Servlet im tomcat läuft und Hibernate als Datenbankanbindung verwendet. Bislang war die Software so gestaltet, dass jedes Release exakt identisch ist, lediglich unterschiedliche Datenbankverbindungsdaten enthält. Da die Anzahl der Releases noch recht übersichtlich ist, stellt es bislang kein Problem dar, die Verbindungsdaten von hand zu ändern, das WAR-file zu builden und auf dem entsprechenden Tomcat zu deployen.
Leider beginnen jetzt die ersten Anforderungen, dass einige spezialisierte Anpassungen für einige Kunden vorgenommen werden. Das sieht im Grunde so aus, dass einige Klassen für die GUI an die Kundenwünsche angepasst werden müssten und ich somit eine Klasse mehrfach verwalten müsste. Es handelt sich hierbei aber effektiv um weniger als 1% der verwendenten Klassen. Alle anderen unterliegen dem normalen Release und Update Prozess, so dass Bugfixes immer an alle Kunden verteilt werden können.
Ein weiterer Verwaltungsaufwand entsteht, wenn die Menge der Kundenprojekte die Übersichtlichkeit verliert und ein manuelles Anpassen der Datenbankkonfigurationen zu aufwendig wird.
Ich suche nun nach Lösungsansätzen wie ich diese beiden Probleme gut in den Begriff bekommen kann und die Aufwände für das Builden und die Codeverwaltung reduzieren kann. Ich lese mich im Moment in Tools wie Ant und Maven ein, bin mir aber nicht sicher ob ich damit alles abdecken kann. Welche Empfehlungen zu Tools, Prozessen und Literatur könnt ihr mir geben?
Viele Grüße
Togaras