Frage

Unsere Software auf Linux und Windows-Plattformen gebaut. Je nach Präferenz des Entwicklers wird ein Beitrag entwickelt und getestet auf jeder Plattform und dann zu unserer Subversion-Repository begangen. Es stellt sich dann heraus, dass der Beitrag nicht auf der anderen Plattform nicht bauen, und ein Fix muss gemacht werden. Das Update auf der anderen Plattform kann wiederum die Build auf der ursprünglichen Plattform brechen, und so weiter.

Ich würde lieber sehen, dass ein Beitrag gebaut (und Regression getestet) auf der anderen Plattform als auch vor begangen werden. Wir haben einen kontinuierlichen Build-Server (CruiseControl-), aber das Server baut aus dem Repository. Ich bin auf der Suche nach einer Lösung, wobei der kontinuierliche Build-Server auf der anderen Plattform als pre-commit Check baut und begeht dann das Zeug, wenn der Build und Test erfolgreich zu sein.

Irgendwelche Vorschläge?

War es hilfreich?

Lösung

Matheiu Godlewski hat einen guten Vorschlag an den CruiseControl- Wiki

Wenn Sie seinen Vorschlag mit dem Elemente Veto, ich glaube, Sie sollte festgelegt werden.

Andere Tipps

Teamcity Griffe vorgetesteten begehen, können Sie in der Lage sein, etwas mit dem neuen Build Verkettungs Features in 4.0 ( http://www.jetbrains.com/teamcity/features/newfeatures.html ). Mittel sind Querplattform und können nur konfiguriert werden, um bestimmte Bits der Build ausführen, so möglicherweise konfiguriert werden könnten, um nur eine Teilmenge von Tests auszuführen.

Beachten Sie, dass ich habe nicht wirklich das getan:)

Es könnte einfacher sein, zwei Zweige zu haben, ein, wo Menschen checkin, und eine andere, die sie ihre Änderungen in verschmelzen, nachdem sie die kontinuierliche Integration bestanden hat.

Wir haben eine benutzerdefinierte Build und Test rig, die auf mehrere Betriebssysteme remote bereitstellen könnte (und mehrere Datenbankprodukte auf mehreren Betriebssystemen). Dies wurde als ein Nightly Build mit der Regel getan, dass Sie Ihre Fehler am nächsten Morgen zu beheben.

Nein vollständig kontinuierliche dann, aber das ist möglicherweise eine Menge Arbeit auf einem pre-commit Haken zu tun. Vor allem, wenn Ihr Quellcodeverwaltungsrepository sperrt die betroffenen Dateien für die Dauer der pre-commit Haken Ausführung.

Ich denke, es gibt einen Unterschied zwischen einem kontinuierlichen Integrationstest, der im Laufe des Tages läuft, pro-commit und einen Systemintegrationstest, der jede Nacht ausgeführt wird.

Douglas Leeder schlug eine „Integration“ Zweig - das Schöne daran ist, dass es möglich zu automatisieren. Wenn die Tests bestehen -. Zur ‚Stamm‘ fusionieren

Einige Versionskontrollsysteme (z BZR / hg / git) machen dies einfacher als andere, aber es ist möglich, auf den meisten.

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