Frage

Wir verwenden einen CruiseControl.Net/NAnt/Subversion Stack für CI. eine neue Kasse für jeden Build zu tun, ist viel zu zeitaufwendig, so zur Zeit tun wir gerade ein Update auf einer Arbeitskopie. Dies ist jedoch läßt die Möglichkeit, die Dateien verwaist kann in der Arbeitskopie bleiben, nachdem in der Quellcodeverwaltung gelöscht werden. Wir haben versucht, die NAnt löscht Aufgabe mit nur alle Quellcode-Dateien vor einem Update zu entfernen, aber dies kann zur Beschädigung der Arbeitskopie. Kennt jemand einen schnellen Weg, um einen Build auf eine saubere und up-to-date Arbeitskopie laufen? EDIT: Wir sind auf dem SVN 1.3.2

War es hilfreich?

Lösung

Wenn Sie nur ‚update‘ tun, werden SVN alle Dateien löschen, die in der Quellcodeverwaltung gelöscht wurden. Allerdings Dateien, die während des Build-Prozesses erstellt wurden, können noch da sein und könnte mit neuen Build stören. Ich bin mir nicht sicher, ob SVN einen Befehl, sie zu löschen hat, aber ich denke, man könnte das tun, mit einem kleinen Skript, auf jeden Fall SVN könnten Ihnen sagen, welche Dateien unter Quellcodeverwaltung und welche nicht.

Andere Tipps

Wir hatten ein ähnliches Problem mit unserer CC-Implementierung.

Unsere Lösung ... Wir hatten bereits in Handarbeit ein 03.00 Nightly Build, die länger laufenden Integrationstests zusätzlich zu den Basis Unit-Tests durchgeführt. Wir entschieden uns, einfach zu machen, dass 03.00 eine voll bereinigter Build auf einem frischen Baum bauen. Da es mitten in der Nacht war es betroffen selten jemand. Alle anderen "normalen" Check-Ins lief inkrementale Builds.

Wenn es verwaiste Dateien links in der Arbeitskopie ein svn update getan zu haben, dann gibt es einen Fehler in Ihrer Subversion-Version.

Sie können eine tägliche Voll bauen, tun und die Build beim Check-in lassen wie es ist. Auch für den Einsatz baut, ist es wahrscheinlich eine gute Idee, immer eine saubere komplette Build zu verwenden.

Die einzige Möglichkeit, die ich denken kann ist, die zwei Kopien auf dem Build-Server. Zuerst auf der ersten Stelle aktualisieren. Sie löschen die zweite Position. Kopieren ersten in der zweiten und dann in der zweiten Stelle zu bauen. So können Sie immer von einem sauberen Build starten.

Sie könnten, warum aussehen wollen Ihre Kasse so lange dauert. Ich habe die gleiche Build Stack verwendet und hatte nie Probleme. Subversion in der Regel dauerte weniger Zeit als die selbst aufbauen.

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