Frage

Zur Zeit arbeite ich auf die Automatisierung / Verbesserung der Freigabeprozess meinem Geschäft das gesamte Produkt für die Verpackung. Derzeit ist das Produkt ist eine Kombination aus:

  • Java Server-Seite Code-Basis
  • XML-Konfiguration und Anwendungsdateien
  • Shell und Batch-Skripten für Administratoren
  • Statisch serviert HTML-Seiten
  • und einige andere Sachen, aber das ist das meiste davon

Alle oder die meisten von denen haben verschiedene Versionsinformationen in ihnen enthalten sind, für verschiedene Zwecke verwendet werden. Ein Teil des Release Verpackungsprozesses beinhaltet dabei eine Menge zu finden, dass das grepen und sed'ing (in Skripten), um die Informationen zu aktualisieren. Dieser Klebstoff, der die Produktpakete scheint zusammen just-in-time Art und Weise in einem organischen, gepflastert sind, und ist ziemlich schrecklich zu halten. Erstellen Sie zum Beispiel einige Java-Methoden Date-Objekte für den Zeitpunkt der Veröffentlichung, die Argumente für die von einem Text-Ersatz aktualisiert werden, ohne Compiler Validierung ... nur, urgh.

Ich bin vermeiden versuchen, Beispiele für aktuelle Software geben verwendet (das heißt CVS, SVN, Ameise, etc.), weil ich die „-Funktion Gebrauch xyz ist, dies zu tun“ vermeiden möchten und mehr konzentrieren sich auf die allgemeine Praxis. Ich mag schlampigen Entwurf für das Problem verantwortlich zu machen, aber wenn ich wieder von vorne anfangen musste, noch unterschiedliche Technologien, würde ich nicht sicher sein, wie man am besten über den Umgang mit diesem zu gehen, über Konventionen festgelegt werden.

Meine Fragen sind, gibt es bewährte Verfahren oder Hinweise und Tipps für die Pflege und Versionsinformationen über verschiedene Technologien, Dateitypen, Plattformen und Versionskontrollsysteme zu aktualisieren?

War es hilfreich?

Lösung

Tatsächlich abzuschließen Craig Angus Antwort, die Faustregel sollte sein nicht umfasst alle Meta-Informationen in Ihren normalen Liefer Dateien , aber die Meta zu berichten -Daten (Versionsnummer, Erscheinungsdatum, usw.) in eine spezielle Datei - in der Version enthalten -.

Das hilft, wenn Sie einen VCS (Version Control System) Werkzeug von der Entwicklung bis Homologation verwenden, um Vorproduktion.
Das heißt, wenn Sie einen Arbeitsbereich laden (entweder für die Entwicklung oder zum Testen oder für eine Freisetzung in die Produktion vorbereitet), es ist das versionning Werkzeug, das Ihnen alle Details gibt.

Wenn Sie eine Lieferung (eine Reihe von verpackten Dateien) vorzubereiten, sollten Sie, dass die VCS-Tool über jeden Meta-Informationen fragen Sie behalten möchten, und schreiben sie in einer speziellen Datei selbst in den genannten Satz von Dateien enthalten.

Das Lieferung soll (außerhalb von jedem Arbeitsbereich) in einem externen Verzeichnis verpackt werden und:

  • zu einem freigegebenen Verzeichnis (oder ein Maven-Repository) kopiert, wenn es sich um eine nicht-offiziellen Release (aber nur eine kurze Verpackung das Team nebenan zu helfen, die für Ihre Lieferung wartet ). Auf diese Weise können 10 oder 20 liefert einen Tag machen, es spielt keine Rolle. Sie sind leicht zu entsorgen

  • in die VCS, um importiert als offizielle Lieferungen zu dienen und um einfach eingesetzt zu werden, da alles, was Sie brauchen, ist das versionning Werkzeug für die richtige Version des Rechts zu verlangen, liefern, und Sie können beginnen zu implementieren es.

Hinweis: ich gerade beschrieben Release-Management-Prozess vor allem für viele voneinander abhängigen Projekte verwendet. Für ein kleines einzelnes Projekt, können Sie den Import in dem VCS-Tool überspringen und speichern Sie Ihre Lieferungen an anderer Stelle.

Andere Tipps

Erstellen Sie eine Eigenschaftendatei, die die Versionsnummer enthält und haben all die verschiedenen Komponenten verweisen die Eigenschaftendatei

  • Java-Dateien können die Eigenschaften durch
  • Referenz
  • XML kann, schließt verwenden?
  • HTML kann eine JavaScript verwenden, um die Versionsnummer von den Eigenschaften im HTML
  • schreiben
  • Shell-Skripte können in der Datei lesen

Neben Craig Angus' gehört die Version von Werkzeugen verwendet wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top