2009-08-19 11 views
1

Ich bin ziemlich neu zu CI so mit mir hier. Ich habe gerade eine Instanz von Team City auf einem lokalen Computer eingerichtet, und ich kann die Vorteile deutlich sehen.Deployment nach CI baut

Die eine Sache, die wir verstehen wollen, ist, wie wir den Deployment-Aspekt von CI verwalten können. Was wir wirklich wollen, um zu erreichen sind zwei Builds:

1) Wir überprüfen unser Quellcode-Repository in und der CI-Server bemerkt die Änderung und kompiliert den Code, Tests usw.

2) Wir auslösen manuell einen Build, der kompiliert den Code, kopiert den Code auf einen Remote-Server und aktualisiert seine IIS-Zuordnungen.

Jetzt ist der erste Build mit TeamCity ziemlich fertig. Aber ich gehe davon aus, dass der Deployment-Aspekt etwas Scripting mit sich bringen wird (Nant, MsBuild, Rake etc.). Ist das korrekt?

Wenn dies der Fall ist, kann ich sehen, dass die Übertragung von Dateien von der Build-Maschine zu einem Remote-Server in Ordnung sein wird, aber können wir IIS-Mappings aktualisieren, ohne im selben Netzwerk zu sein? Wo ist der richtige Ort für die Bereitstellung eines CI-Servers, sollte er in demselben Netzwerk wie die von uns bereitgestellten Apps leben?

Endlich waren wir (eher unorthodoxisch) IronRuby, um Rake-Skripte als Build Runner zu benutzen. Das liegt einfach daran, dass wir Rake mögen, aber wenn wir uns Nant/Msbuild anschauen, haben sie irgendwelche Aufgaben, die vereinfachen würden, was wir erreichen wollen?

Prost, Chris.

Antwort

1

Wir verwenden ausschließlich MSBuild, nur eine Auswahl. Ich bin mir sicher, dass Nant und die anderen die Dinge genauso gut machen. Wir veröffentlichen nur in einer Entwicklungsumgebung (für Entwicklungstests) und einer Phasenumgebung (wo die Qualitätssicherung tatsächlich testet). Ich würde nicht vorschlagen, dass Sie das Produktionssystem dazu drängen, da die Versuchung, Builds zu erzwingen, für manche Menschen zu groß sein könnte.

Wir verwenden einige der MSBuild Community Tasks

+0

Hallo Alex, danke für die Antwort, aber es ist nicht wirklich meine Fragen zu beantworten. Ist Ihr CI-Server im selben Netzwerk wie Ihre Stage-/UAT-Boxen? Soll hier ein CI-Server leben? Wenn nicht, wie behandeln Sie IIS-Repointing (wenn überhaupt). Prost, Chris. – Owen

+0

Wir befinden uns im selben Netzwerk und die Community-Aufgaben, mit denen ich verbunden war, hatten eine IIS-Neuzuordnungsaufgabe, aber wir verwenden derzeit keine Neuzuordnung. – Alex

+0

Ich bin nicht sicher, ob es eine richtige Antwort gibt, wenn eine CI-Box im selben Netzwerk sein sollte. Ich denke, dass es viele Faktoren gibt, die dabei eine Rolle spielen. – Alex