Frage

Ich bin derzeit einen neuen Build-Server und ich habe Interesse an allen möglichen Vorschlägen die Community über Software wie Hudson haben kann oder CruiseControl.NET, die vereinfachen können und zusätzlichen Wert für den Build-Prozess hinzuzufügen.

Früher hatte ich einen Build-Server mithilfe von benutzerdefinierten Batch-Dateien einzurichten, die msbuild und andere solche Werkzeuge laufen würde und diese durch Subversion Haken ausgelöst wurden für eine kontinuierliche, damit baut pro Zweig durchgeführt werden. Die Idee war, dass schließlich würden wir auch automatisierte Tests und / oder statische Analyse durchführen, obwohl wir wirklich nie so weit gekommen. Dieser Server auch als unsere Quellcode-Repository, eine Testmaschine für Web-Projekt handelt baut und ein Web-Server für benutzerdefiniertes Armaturenbrett und Portal für Entwickler im Team.

An diesem Punkt sind meine Gedanken einige der Aufgaben des alten Build-Server und mindestens einem Build-Server zu trennen, welche verantwortlich ist nur für die Erstellung von Builds, einen Web-Server, die für die Tätigkeit als Intranet-Stil Dashboardsite für Entwickler verantwortlich ist und vielleicht ein zusätzlicher Web-Server als die Subversion-Repository. Sollte es sich zeigen, besser zu sein oder einfacher, den Subversion-Code auf dem gleichen Server zu halten, wie Svnserve dann werde ich wahrscheinlich opt die Subversion-Repository auf dem Web-Server zu platzieren, aber immer noch den Build-Server getrennt halten. Da ich keine persönliche Erfahrung mit einem der beliebten Build-Server und CI Lösungen gibt ich bin neugierig, wie CruiseControl.NET, Hudson oder andere Lösungen in diese Art von Konfiguration passen würde. Es scheint, dass beide CC.NET und Hudson Web-Schnittstellen zum Beispiel haben aber die Dokumentation nicht klar Layout, wie dies spielt sich mit verschiedenen Hardware / Systemkonfigurationen so dass ich nicht sicher bin, ob entweder die Bahnabschnitt erfordert auf dem gebaut werden Server selbst oder nicht.

Soweit Technologien Ich bin der Umgang mit .NET / C # basierend Code, ist eine Mischung aus Web / WinForms / WPF und wir verwenden eine paar separate Subversion-Repositorys, diese Projekte zu hosten. Außerdem wäre es schön, Visual FoxPro und Visual Source Safe für einige Legacy-Anwendungen zu unterstützen. Ich möchte auch mehr Teammitglieder bei der Überwachung beteiligt bekommen baut und würde schließlich gerne haben Entwickler erstellen Build-Setups für eigene Projekte als auch mit so viel Einfachheit wie möglich. Ich sollte auch erwähnen, dass ich keine Erfahrung, um eine Java-basierte Web-Anwendung in IIS einrichten, aber ich habe ziemlich viel Erfahrung Einrichten und Anwendungen so ASP.NET verwalten, wenn das .NET basierte Produkte machen können günstigere, wenn ich sein kann überzeugt sonst.

UPDATE (nach der Erforschung Hudson): Nachdem alle Empfehlungen für Hudson begann ich in der Suche, was beteiligt ist es aufstehen und auf meine zwei Windows 2008 Server ausgeführt wird . Von dem, was ich den Stegteil sammeln kann (Master) würde auf meinem Webserver laufen, aber es scheint, dass IIS nicht unterstützt wird, so würde dies erheblich komplizieren Dinge, da ich es auf der gleichen Maschine wie meine anderen Web-Anwendungen hosten möchten. Auf dem Build-Server, würde ich eine zweite Kopie von Hudson werden installieren, der als Slave wirken würde und nur ausführen erstellt, die durch den Master zu ihm übertragen werden. Um dies zu Arbeit wäre ich Installation Hudson als Windows-Dienst und mußte auch einig Unix-Kompatibilität Dienstprogramme installieren. Leider ist der UnxUtils Download-Link gebrochen zu sein scheint, wenn ich auch so überprüft kann ich nicht wirklich vorwärts bewegen, bis ich das gelöst bekommen. All dies klingt so komplex ist wirklich nur, wenn nicht komplexer als CruseC Installationontrol.NET. Vorerst leider läßt mich auf der Suche in CruiseControl.NET und Teamcity.

UPDATE (etwa Teamcity) : Nach einem Blick in Teamcity ein wenig näher erkennen ich, dass der Server-Teil zumindest auch in Java geschrieben und wird in einer Art und Weise sehr ähnlich Hudson im Einsatz. Zum Glück scheint es, dass Tomcat kann Host-Servlets innerhalb IIS verwendet werden, obwohl ich keine guten geradeaus führen zu beschreiben, wie dies tatsächlich tun erreichen finden. So Skipping, dass jetzt ich weiter sah, als ich in lief, was aussieht wie eine sein könnte Haupt snag .

  

Teamcity nur Professional Edition   Teamcity unterstützt Standard   Authentifizierung und nicht unterstützt   Ändern des Authentifizierungsschema.

Da die Windows-Authentifizierung ist wahrscheinlich die Richtung wir gehen wollen, ist es nun sieht, wie es um die Bewertung CruiseControl.NET oder möglicherweise Hudson zurück könnte, wenn ich meine Hände auf dem UnxUtils bekommen kann und auch mehr über herausfinden, wie ich kann, Gastgeber des Armaturenbretts Teil des Hudson in meiner vorhandenen IIS-Konfiguration. Alle Zeiger?

UPDATE (etwa Jenkins) : Ich landete mit Hudson experimentieren genug, dass ich mit einem vernünftigen Build-Server-Setup endete, dass ich bin glücklich mit und kann erweitert werden, viel mehr zu tun, wenn ich brauchen. Natürlich ging ich die Niederlage der Umstellung auf Jenkins einmal Oracle über Hudson und Jenkins nahm das, was ich verwende heute mit kleinen Stückchen von Powershell-Hilfe Krawatte Dinge zusammen. Ich bin sehr zufrieden mit diesem Ansatz jetzt und außerdem wird Java-basierte, Jenkins hat einiges an Unterstützung für andere Entwicklungsumgebungen wie .NET und MSBuild.

War es hilfreich?

Lösung

Ich empfehle mit Hudson . Nicht nur wird es erlauben Sie .NET-Anwendungen auf einer kontinuierlichen Basis zu bauen, aber Sie können auch als auch Code-Analyse und Unit-Tests laufen. Es ist einfach zu installieren (nur eine WAR-Datei auf einen Web-Server bereitstellen, wie Tomcat ) und hat viele Konfigurationsmöglichkeiten. Es gibt auch eine große Anzahl von Plug-in zur Verfügung, die Sie verwenden können, viele von anderen Hudson Benutzern geschrieben werden. Das Beste von allem, es ist kostenlos und aktiv unterstützt.

Andere Tipps

Ich würde Abstimmung für Teamcity hier. Sein ist sehr, sehr einfach zu bekommen stand auf und läuft, kann mit allen .NET-Sachen ohne Probleme. Die baut sich durch Agenten ausgeführt werden, die auf dem Build-Server oder eine andere Maschine je nach Bedarf sein kann - sie sogar auf einer Maschine könnte eine ganz andere Betriebssystem auf einem anderen Netzwerk in einem anderen Land ausgeführt wird.

Für unseren Entscheidungsprozess haben wir begonnen, mit Überblick folgen.

http://confluence.public.thoughtworks.org/display / CC / CI + Funktion + Matrix

Unser Hauptziel war es java, einfach zu konfigurieren / Einsatz auch nach niemandem einen Job für 6 Monate erstellt. Wir zogen von einer alten Version von Cruise Control entfernt, da niemand wirklich wusste, wie es zu benutzen. Einige kommerzielle Produkte sind schön, wenn man mehr als nur die kontinuierliche Integration gehen wollen. Werfen Sie einen Blick und entscheiden Sie selbst.

Seien Sie vorsichtig, ich weiß nicht, wie diese Matrix auf dem neuesten Stand ist. So einige der Projekte jetzt mehr Funktionen implementiert haben könnten.

Eine interessante Alternative könnte Jira Studio von Atlasian sein. Wenn Sie die gehostete Version verwenden, müssen Sie nicht viel Unterstützung Fragen und es kommt mit Subversion, Bambus und Goodies (jira + Green, Einmündung, Tiegel, Fisheye). http://www.atlassian.com/hosted/studio/

Ich bin mit Wyatt Barnett. Teamcity ist die beste Wahl. Es ist sehr einfach zu konfigurieren und zu verwenden. Außerdem hat Teamcity Free Professional Edition. Früher haben wir CruiseControl.NET auf unser Projekt. Dies ist auch ein leistungsfähiges Werkzeug, aber es ist sehr kompliziert und schwer zu verstehen.

Was s.ermakovich sagte: Sowohl Teamcity und Hudson trennen den Web-UI von Build-Agenten. Sie sollten IIS nicht auf einem Build-Agenten installieren müssen. Sie müssen eine JVM und die Agentensoftware auf jedem Build-Knoten installieren -. Sehr einfach

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