2017-06-09 4 views
-2

Wir haben eine JavaEE-Webanwendung mit Maven, um den Build-Prozess, JSF 2.2, Tomcat 7 als unseren Server und MySQL 5.5 als unsere Datenbank zu tun. Mit der Entwicklung neuer Features müssen wir manchmal unsere Datenbankstruktur ändern. In diesem Moment haben wir die Arbeit all dies manuell zu tun:Strategie zur automatischen Aktualisierung der Datenbank auf neue App-Version deploy

  1. Warten Sie, bis wir haben keine Kunden online (gegen Mitternacht)
  2. Zum Tomcat Manager
  3. Heben Sie die Bereitstellung Kontext
  4. Deploy neuen Kontext
  5. zu phpMyAdmin gehen und dem SQL-Skripte

ausführen Während unsere Anwendung noch „klein“ ist, ist noch lebensfähig, diesen Prozess zu tun, aber wir sind Blick weiterleiten, um dies zu automatisieren. Wir wissen bereits von Jenkins, die unseren Git lesen können, den .war mit Maven bauen und - noch nicht sicher - den Einsatz bei Tomcat machen.

Aber ich bin mir nicht sicher, wie wir unsere SQL-Skripte automatisieren, wenn wir eine neue Version bereitstellen. Es muss robust sein, damit es unsere Datenbank nicht durcheinander bringt, indem es zum Beispiel zweimal läuft oder so.

Meine Frage ist, ob es einen besseren Bereitstellungsprozess gibt, der sich auf Datenbankänderungen konzentriert, die mir helfen können.

+0

Die Abfrage von Tool- oder Framework-Empfehlungen ist für StackOverflow ausdrücklich nicht möglich. Weitere Informationen finden Sie in der [Hilfe]. – Lexi

+0

Könnte eine gute Idee sein. Wenn die Frage geschlossen wird oder Sie zu viele Downvotes erhalten, kann dies manchmal Auswirkungen auf Ihre Fähigkeit haben, zukünftige Fragen zu stellen. – Lexi

+0

@Lexi Ich kann die Frage nicht löschen, ich werde versuchen, meine Frage einen besseren Weg umzuschreiben. Danke für die Hilfe –

Antwort

0

Nur um die vorherige Antwort über Liquibase anzufügen, könnten Sie auch die flywaydb verwenden.

+0

flywaydb scheint genau so zu arbeiten, wie ich brauche. Vielen Dank. –

0

Sie können mit liquibase inkrementelle Datenbankänderungen zusammen mit jenkins anwenden, um den Erstellungsprozess zu automatisieren.

Verwandte Themen