Frage

Ich habe Stücke dieses Problem gesehen das Netz gelöst herum, aber ich bin immer noch verwirrt, so dass ich dachte, ich würde die intelligenten Leute bei Stack-Überlauf über diese fragen.

Wir sind ein kleines Start und zur Zeit unseres Workflow von Entwicklung -> Produktion beinhaltet ftp-ing in und nur die Entwickler Code hochladen.

Der Entwickler Code ist unter Subversion Kontrolle - obwohl wir nicht Stämme / tags / branches genutzt haben, da ich diese Struktur keine gute Idee, wie man am besten verwenden. Ich glaube, dass es eine nahtlose Integration mit der Live-Website, die ich nicht erfordert kopier Einfügen von Ordnern und Dateien.

Hier einige Details: - Entwicklung auf CakePHP + MySQL - bei Media Temple (gs) gehostet - Entwickler verwenden sowohl Mac OS (Coda) und Windows (Dreamweaver)

Also meine frage ist: Wie tun Sie das Setup eine richtige skalierbare Workflow

War es hilfreich?

Lösung

Ihr Work-Flow scheint für eine kleine Organisation, die nicht korrekte QA hat. Ich würde Ihnen raten, einige Ressourcen in

zu investieren

1) Build-Produktions-Releases und eine Version Schema, so dass Sie Ihre Produktion Mitteilungen genau verfolgen können. Tag jede Veröffentlichung, damit Sie sie verfolgen können.

2) Erstellen Sie ein Installationsprogramm. Sie nicht manuell Kopieren von Ordnern zurückgreifen, weil Sie einen Fehler machen könnten. Ein Installationsprogramm macht es auch einfach zu verfolgen, wenn etwas in der Produktion schief geht.

3) Sie einige der QA auf die Produktion vor der Bereitstellung. Sogar ein wenig QA geht ein langer Weg. Die Entwickler sind nicht gut Tester, da könnten sie auf den „Eigenschaften“ des Programms vorgespannt werden.

4) nicht mit Niederlassungen stört nur noch, bis Sie wirklich, es zu benutzen haben. Erst dann wird klar werden, welche Struktur die Sie benötigen. Die Subversion rot-Buch einige Ideen hat, wie Sie Ihre Zweige zu strukturieren.

Andere Tipps

Ein Weg, ich dies in der Vergangenheit getan habe, ist die Produktion Code tatsächlich ein Live-Subversion-Client sein, den ‚Produktion‘ Zweig ziehen.

So können Sie tun, um Ihre Arbeit wie gewohnt auf dem Entwicklungszweig, und wenn Sie bereit sind, schneiden Sie eine Kopie an den Produktionszweig. Synchronisieren Sie den Produktions-Server, und Sie sind zu Hause ist. Wenn etwas schief geht, können Sie sich immer auf die ältere Version synchronisieren.

Für zusätzliche Punkte können Sie einen Staging-Zweig hinzufügen, so dass Sie alle die Dinge fangen können, dass geändert, dass nicht in Ihrem Code. Dann können Sie sie zu einem Bereitstellungsskript hinzufügen, die die Produktionssysteme werden nach Bedarf anpassen.

Ich denke, der Schlüssel, was zu prüfen ist, so viel Prozess einzubeziehen und Workflow, dass die Qualität des Codes verbessern und Ihre Bemühungen reduzieren einzusetzen. Das Wichtigste ist, zu beginnen, einige dieser Dinge zu schaffen, wenn der Code-Basis nach unten eingeschwungen ist. In den frühen Tagen, als ändert sich alles schnell werden Sie mehr Zeit Aktualisierung Skripte werden ausgeben, als Sie mit den Skripten werden Speichern wird.

Ich würde die folgenden Dinge empfehlen:

  1. Erstellen Sie einen automatisierten Build-Skript. Es gibt viele verschiedene Technologien und Skriptsprachen, die verwendet werden können (ich ziehe Ant) Ihre Dateien aus der Quellcodeverwaltung zu extrahieren, automatisch Schritt Versionsnummern, add Tags und die deploy-Pakete erstellen. Dies kann eine große Menge an Aufwand zur Einrichtung nehmen und die Aufgaben löst, dass die Entwickler derzeit tun, aber dies wird enorm lange Sicht auszahlen. Es sollte Ihre Entwickler von der sich wiederholende Aufgabe des Gebäudes frei und lassen sie auf die Lösung Ihrer technischen Probleme konzentrieren. Wie Sie wissen, Entwickler die gleiche Sache immer und immer wieder tun, langweilen, und wenn Sie sich langweilen beginnen Sie, Fehler zu machen.

  2. Automatische Installation von . Dies ist ein marginaler Vorteil, während die Dinge noch in einem rasanten Entwicklungsphase, aber auf lange Sicht sind, wird es auf Ressourcen freizugeben, die anderswo besser ausgegeben werden könnte. Zumindest sollten Sie ein Installationspaket und Installationsschritte für Ihren Code bereitstellen.

  3. Staging-Umgebung . Man könnte argumentieren, dass dies nicht erforderlich ist, bis die Benutzerbasis groß genug ist, dass sie sqawking beginnen, wenn das Produktionssystem weggeht, wenn Sie deploy Code. Es ist wichtig, ein System zu haben, dass Sie Ihre Änderungen testen können ohne Ihre Benutzerbasis discomforting. Aber natürlich erfordert dies auch eine gewisse QA Aufwand. Sie müssen auf jeden Fall einige Tests vor der Bereitstellung. Entwickler immer davon ausgehen, sie sind richtig und haben nie etwas verpasst, aber sie sollten nicht geglaubt werden. Es gibt immer einen anderen Codepfad oder eine neue Permutation Klicks, dass sie nie gedacht.

  4. Sichern Sie Ihre SVN . Dies sollte selbstverständlich sein, aber ich arbeitete für eine Firma, wo unser Quellrepository wurde nicht für mehr als zwei Jahre gesichert. Sie können ein Backup durch einen svndump tun und dann Kopieren Sie die resultierende Datei an einem anderen Ort. Sie können auch nur ein Backup der Ordner, in denen das Repository vorhanden ist, und dann wiederherstellen, wenn Probleme auftreten.

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