2009-04-09 13 views
2

Ich habe Probleme, alle Probleme mit Software Configuration Management auf einem CMS (speziell Joomla!) Zu tun. Ich schreibe natürlich benutzerdefinierte Vorlagen, aber auch benutzerdefinierte Module und Komponenten. Diese Websites und Apps sind für Kunden, nicht in-house.SCM für CMS

Ich möchte tatsächlich die Konfiguration der Website, nicht nur den Code seiner Vorlagen und Komponenten, Version, weil ich will, dass es bereit sein, für Korrekturen zu rampen oder zu jemand anderem zu übertragen, so schnell wie möglich. Im Moment bedeutet das, dass man einen vollen Joomla! Installation für jede Site in SVN, einschließlich der installierten Versionen von Komponenten und Vorlagen, und Speichern der tatsächlichen Datenbankexporte. Für Komponenten behalte ich auch die "gepackte" Version des Codes (siehe unten). Ich kümmere mich normalerweise nicht um die Vorlagen, da Sie sie einfach in Joomla! installieren und es funktioniert.

Das Problem mit dieser Konfiguration, über die ich derzeit debattiere, liegt in der Entwicklung benutzerdefinierter Komponenten. In Joomla! (und die meisten anderen CMS) -Erweiterungen werden in der Regel mit einem Web-Installationsprogramm bereitgestellt. Sie können (zumindest anfangs) die Dateien nicht einfach in einen bestimmten Ordner verschieben, da DB-Änderungen erforderlich sind. Der Joomla! Das Installationssystem bietet DB- und Dateimigration mit Hooks zum Installieren und Deinstallieren, so dass es ein ziemlich vernünftiges System für die Bereitstellung ist.

Gerade jetzt, ich entweder: 1) arbeiten direkt auf die installierten Komponenten, Hinzufügen und Dateien zu ändern und dann manuell in die verpackte Version der Komponente zu kopieren, oder 2) arbeiten auf dem verpackten Komponente und verwenden Sie das Installationsprogramm um die Ergebnisse tatsächlich zu sehen. Diese Option dauert normalerweise nur zu lange, hat aber den Vorteil, dass der Code "releasefähig" bleibt, insbesondere im Hinblick auf DB-Migrationen.

In beiden Fällen werden die Änderungen vor dem Einchecken in beide Versionen der Dateien dupliziert, und die Duplizierung scheint mir ein Geruch zu sein.

Also, tut jemand anderes das? Gibt es bessere Möglichkeiten?

Antwort

2

„1 /“ sollte „Art“ die Art und Weise

zu gehen, wenn Sie das Wort „Verpackung“ haben, das heißt, dass Sie nicht über Version eine, sondern zwei „Komponenten“ (Satz von Dateien)

  • eine „Entwicklung“ Komponente: recht groß, mit allen Dateien, die Sie
  • one „distrib“ -Komponente müssen: recht klein, mit einem paar von komprimierten Dateien darin.

Es beinhaltet:

  • eine automatische Art und Weise und die Version zu erstellen, die Komponente distrib (durch die Dateien, Komprimieren und Speichern von ihnen)
  • eine automatische Art und Weise, dass distrib Komponente zu kopieren (die die komprimierte Version von Ihrer gepackten Version), unkomprimiert und rsynch-it mit der Test- oder Produktionsplattform.

Auf diese Weise Sie nicht einfach „Duplikat“ Änderungen, sondern verfolgen eine tatsächliche vollständige Konfiguration halten:

  • bereit, auf eine andere Plattform
  • oder verwendet eingesetzt werden eingesetzt um einen Strom rsynch Paket.
+0

Ich schätze diese Antwort.Mein Problem ist jetzt die Details des Build-Schritts für Joomla. Mehr Fragen! – Jerph