Frage

Ich habe einen NSIS-Installer, den wir vorher nAnt Skripte gebaut verwenden, die einige Dateien um und laufen makensis.exe über eine exec Aufgabe kopieren Sie den Installer exe zu bauen. Nachdem das Nant Skript abgeschlossen ist, habe ich die compelte Struktur für unsere CD und auch unsere Download bereit.

Ich habe nur eine get von Sourcesafe auf einem nicht verwendeten Desktop tun und es als Build-Box verwenden, kompilieren es. Manchmal haben wir ein paar Dateien in diesem fix etwas kritisch geprüft haben. In diesen Fällen würde ich auf die Build-Box gehen, und sehr selektiv nur die Dateien erhalten, bekommen andere geänderte Dateien zu vermeiden, dass wir nicht bereit sind, noch zu lösen. Im Grunde bin ich in der Lage Entwicklung zu ermöglichen, fortzusetzen und selektiv bestimmte geänderten Dateien in das Installationsprogramm für die Freigabe enthalten.

Jetzt haben wir nicht mehr ein freies Feld und müssen von unserem Server aufzubauen. So setze ich auf CI-Fabrik, so dass der Entwickler die Build-off ohne Remoting in den Server kicken kann. Das einzige Problem, mit denen ich zu kämpfen, ist der beste Weg, um weiterhin diese selektive Änderungssteuerung stattfinden zu lassen. Das Standardkonzept von CI, die CI-Fabrik implementiert ist für die interne Entwicklung „Kopf“ in Ordnung. Allerdings mag ich auch das Einrichten ein CCNet Projekt, das nur bei Bedarf über eine Kraft beim Aufbau für diesen „public release“ Bauart ausgeführt wird.

Dies ist, was ich habe Gehirn so weit stürmte, ohne sicher zu sein, wie gut das funktioniert, wenn überhaupt (noch herauszufinden, was CCNet und CI-Fabrik sind alle über). Die "public release" CCNet Projekt config / build wäre Setup so, dass es nicht , sich vor Ort. Änderungen würden nicht auslösen einen Build. Da das andere CCNet Projekt, das die Standard-CI-Methode verwendet (wir es das „CI-Projekt“ nennen wollen) zu bekommen, spätestens wenn Änderungen erkannt werden, dann können diese beiden Projekte, die nicht das gleiche Arbeitsverzeichnis teilen. So ist die „öffentliche Version“ müßte eine andere Arbeitskopie, so dass seine Dateien werden nicht aktualisiert, wenn das Build-CI-Projekt ausgelöst wird. Der Entwickler müßte Remote in den Server, ein VSS, selektiv ein in die „public release“ erhalten tun "Arbeitskopie und zwingt dann einen Build durch CI Factory.

Der Nachteil der ich mit diesem zu sehen ist
1) Mit Fernbedienung, um selektiv zu tun bekommt.
2) Ich habe keine Ahnung, wie ein einzelnes CI Factory-Projekt zu ermöglichen, haben zwei verschiedene Arbeitskopien des Produkts Ordner, so dass jedes Projekt Konfigurationsblock seinen eigenen hat.
3) Ich habe Angst, welche Art von Fremdheit dies verursachen könnte. Ich bin noch nicht ganz sicher, wie eine Quelle Steuerblock in CCNet Projekt Konfigurationsblock zu spezifizieren, aber verhindern, dass es zu tun ein, sich vor Ort, wenn es baut. Ich Bezifferung noch nach und nach heraus, was die Dinge in Skripten sind und ohne zu brechen andere Dinge leicht herausgenommen werden kann, im Vergleich zu, was nicht ausgemistet werden soll, um mit und / oder ist nicht konfigurierbar.

Ich möchte wirklich hören, wie andere beschäftigen sich mit diesem Thema selektiv Änderungen Freigabe, wenn Sie eine ähnliche Situation haben. Ich bin auf VSS gezwungen, so dass mein unmittelbares Bedürfnis ist dies daran mit, dass zu lösen, aber zugleich würde mich interessieren zu hören, wie Sie diese verwalten mit anderen Versionskontrollsystemen. Ich denke, man würde wahrscheinlich eine Niederlassung haben, die Ihre neuesten Entwicklungen Zweig ist, und dann Änderungen in den Stamm zusammenführen, wenn Sie sie freigeben möchten? Ich vertraue darauf, wirklich VSS nicht für eine Verzweigung / Zusammenführung, und ich denke, die Verzweigungs Konzepte vielleicht ein wenig zu viel Aufwand und Lernkurve für dieses Geschäft sein. Wie ich schon sagte aber, Geschichten mit anderen Versionskontrollsystemen wären für mich nützlich Zukunft Wissen sein.

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Sie müssen eine Verzweigungsstruktur in Ihrem Repository dies zu erleichtern. So etwas wie die Release-Zweig-Methode. Wählen Sie nur Personen auf diesen Zweig begehen kann (oder ist ein Release / stable dafür). Richten Sie Ihr Handbuch CI startet vom Release-Zweig ziehen als Release nächtlichen fördern von dort zum Meilenstein oder endgültig. Ich weiß nicht wie die Idee der Dinge manuell auf Ihrem Build-Rechner ändern. Richten Sie die Änderungen in der Versionskontrolle, an einem sicheren Ort, um Ihre Freilassung vorzubereiten und läßt CI von dort bauen, aber manuell ausgelöst werden.

Schauen Sie sich diese Verzweigungsmuster . Ich schlug vor, C3, Kodierzeilen-per-Release, oft Freilassung Verzweigung.

Heres ein Artikel auf VSS rel="nofollow Verzweigung das schließt ein Link zu verschmelzen.

Die Frage Looks ähnlich.

Vielleicht könnten Sie auf eine andere Quelle Steuersystem mit einer besseren Unterstützung bewegen für diese Art der Sache. Irgendwelche Vorschläge von MS Leute da draußen?

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