Frage

Mein letzter Arbeitgeber hatte ein ausgeklügeltes System entwickelt, das auf SVN aufsetzte, um die laufende Weiterentwicklung zu bewältigen:(Änderungsmanagement) Sehen Sie sich Fehler/Probleme an und verknüpfen Sie sie mit Commits, wenn Sie den Commit durchführen, indem Sie die Fehler-ID-Nummer markieren und (Release-Management) Markieren Sie Elemente in SVN als Teil einer bestimmten Version basierend auf dem Fehler-/Problemverfolgungssystem.Mit diesem zweiten Teil war ein Workflow verknüpft, um die Freigabe durch Benutzer/Management einzuholen.Wenn es dann an der Zeit war, die Veröffentlichung durchzuführen (normalerweise jeden Donnerstagabend), konnten sie einen Befehl ausführen, um den gesamten getaggten Code auszuchecken und ihn bereitzustellen.

Mein neues Unternehmen ist viel kleiner und ich bin daran interessiert, ein kostengünstiges und wartungsarmes Äquivalent zu finden, auch wenn es nur darum geht, direkt mit SVN zu verhandeln.Insbesondere stelle ich regelmäßig spät im Spiel fest, dass Commits unseren Build kaputt machen, und es wird sehr schwierig herauszufinden, was wir einbinden können.(Was die Verwaltung von SVN betrifft, bevorzuge ich eher die Idee von Tags gegenüber Zweigen, da sie weniger Voraussicht erfordert, aber ich bin froh, vom Gegenteil überzeugt zu werden.)

Womit kennzeichnen Benutzer Commits für eine Veröffentlichung und führen eine anschließende Bereitstellung durch?Gibt es gute Open-Source-Lösungen zum Verwalten eines Release-Zyklus, die es Ihnen ermöglichen, SVN über einen Webbrowser zu durchsuchen und Probleme/Commits für ein Release zu markieren?Das Beste, was ich bisher gesehen habe, ist Jira, aber das sieht nach einem sehr großen Tool aus (ist es schwierig zu konfigurieren/warten?).Die Apache Foundation nutzt Jira zu diesem Zweck sinnvoll (siehe z. B. die Mahout-Roadmap).

Noch einen Schritt weiter zu gehen, wäre, dass dasselbe System auch eine kontinuierliche Integration beinhaltet, sodass unsere Unit-Tests mit jedem Commit ausgeführt werden könnten und jedem Fehler/Problem dann auch diese Informationen zugeordnet wären.

Notiz:Es gibt einige leicht verwandte Fragen zum Stackoverflow, aber ich sehe nichts, was diesen Aspekt des Bereitstellungszyklus und des Release-Managements abdeckt (siehe Release-Management-in-svn, Verwalten Sie Ihren Projektlebenszyklus, Und Bester Umgang mit Change-Management).

War es hilfreich?

Lösung

Wenn Sie feststellen, dass Build-Busting-Checkins zu spät im Spiel sind, um sie effizient zu beheben, sollten Sie auf jeden Fall auf den CI-Zug aufspringen, bevor Sie sich über den Veröffentlichungsprozess Gedanken machen.Den Entwicklern die Verantwortung für die Integrität des Builds zu übertragen, ist ein viel einfacherer Prozess, wenn jedes Mal E-Mails verschickt werden, wenn jemand etwas überprüft, das den Hund verarscht.Machen Sie daraus ein Spiel;Wer den Bau kaputt macht, muss auf ihn aufpassen, bis er das nächste Mal kaputt geht.

Mit CruiseControl (ich habe CC.NET verwendet) zum Laufen zu kommen, ist mit Subversion nicht so schwer (ich habe uns von keinem nennenswerten Build-Prozess zu einem vollständig automatisierten Build und Deployment mit CC.NET und NAnt in etwa einem Monat, verschachtelt mit natürlich auch andere Aufgaben).

Wir verwenden auch JIRA und da kann man kaum etwas falsch machen.Sie können JIRA veranlassen, die Subversion-Commit-Meldungen auf Dinge wie „Fixed PROJECT-11“ zu überwachen und das entsprechende JIRA-Element automatisch zu schließen.Von dort aus können Sie Ihre Versionshinweise erstellen.

Andere Tipps

Haben Sie das Tortoise SVN-Revisionsdiagramm untersucht?Wenn Sie jede Veröffentlichung mit Tags versehen (wobei, wie andere bereits betont haben, weder auf dem Server noch auf der Workstation Dateien kopiert werden müssen), können Sie alle Revisionen in chronologischer Reihenfolge sehen, wobei die Tags auf die tatsächlichen Veröffentlichungen hinweisen.Sie können zwischen Releases und/oder Trunks unterscheiden, indem Sie die beiden Revisionen markieren, die Sie interessieren, und „Diff“ aus dem Kontextmenü auswählen

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