Build Server und Continuous Integration
Verfasst: Mittwoch 22. August 2012, 19:16
Nabend zusammen,
beruflich motiviert habe ich mich ein wenig mit obigen Themen befasst. Primär habe ich Recherche im .NET-Umfeld betrieben und einiges interessantes gefunden. Da ich weiß, dass hier einige - zumindest einer fällt mir da ein
- sich da gut auskennen, dachte ich mir, ich nutze mal die breite und fundierte Forenbasis für eine Art Erfahrungsaquise.
Ich wäre daran interessiert, wie Ihr Euch für welches System entschieden habt? Was waren die Kriterien für Built-Server A, CVS B und Testing-Framework C?
Es erscheint mir im .NET-Umfeld durchaus gängig, alles von MS gegebene erst einmal als besonders geeignet einzustufen, weil es aus "einer Hand" und "einem Guss" ist. Also könnte man "einfach" auf den Team Foundation Server setzen und hätte ein All-in one Paket, wenn ich das richtig verstanden habe. Eine solch oberflächliche Meinungsbildung missfällt mir aber... immerhin gibt es *viele* andere Lösungen!
Vor allem gibt es viele andere, teilweise interessanteren Ansätze: xUnit.net ist da so ein Beispiel. Die API und einige Ansätze gefallen mir persönlich besser als die von NUnit oder gar dem eingebauten Unittesting-Framework in .NET. Sicher relativ kleine Unterschiede, aber immerhin.
CruiseControl.NET wird auch viel erwähnt und scheint bewährt zu sein. Dazu gibt es auch viele Ressourcen im Web - imho ein durchaus wichtiger Faktor, da die Chance auf Probleme zu stoßen, die noch keiner gelöst hat, weitaus geringer ist. TeamCity von JetBrains bekommt im Netz auch viel Lob (und stammt aus einer "Qualitätsschmiede"
)...
Zu exotische Kombinationen bergen natürlich immer ein gewisses Risiko in sich hinsichtlich der Integration und Wartbarkeit des Ökosystems. Andererseits hat man evtl. die bessere Wahl, als wenn ich mich zu stark an das MS Produkt "binde"?
Ich persönlich fände aus dem Bauch heraus ja erst einmal folgende Kombi attraktiv: Mercurial, NAnt, CruiseControl.NET, xUnit.net und moq. Allerdings fehlt mir klar die Erfahrung zu beurteilen, wie aufwendig das Setup und die Wartung davon ist... ganz abgesehen von fundierten Argumenten, wieso man welche Kombi / Lösung wählen sollte.
Hui, das war jetzt ganz schön .NET lastig... wie biege ich das Thema ein wenig in Richtung Python?
Naja, mir sind Erfahrungen ja durchaus auch Technologie und Sprach unabhängig wichtig! Ob nun Java oder in Ansätzen auch Python sollte egal sein, wenn es um die generellen Erfahrungen von Lösungen und Strategien der Umsetzung geht 
Generell denke ich aus eigener Erfahrung (wie man es nicht machen sollte
) und der Lektüre interessanter Artikel, dass man von Beginn an bei einem großen neuen Projekt Wert auf eine solide Build-Umgebung legen sollte. Oder habe ich mich da zu sehr von Meinungen im Netz "verführen" lassen und das alles wird überschätzt?
Also, ich freue mich über Infos, Erfahrungen, Gedanken zur Thematik und natürlich auch über gute Ressourcen
beruflich motiviert habe ich mich ein wenig mit obigen Themen befasst. Primär habe ich Recherche im .NET-Umfeld betrieben und einiges interessantes gefunden. Da ich weiß, dass hier einige - zumindest einer fällt mir da ein

Ich wäre daran interessiert, wie Ihr Euch für welches System entschieden habt? Was waren die Kriterien für Built-Server A, CVS B und Testing-Framework C?
Es erscheint mir im .NET-Umfeld durchaus gängig, alles von MS gegebene erst einmal als besonders geeignet einzustufen, weil es aus "einer Hand" und "einem Guss" ist. Also könnte man "einfach" auf den Team Foundation Server setzen und hätte ein All-in one Paket, wenn ich das richtig verstanden habe. Eine solch oberflächliche Meinungsbildung missfällt mir aber... immerhin gibt es *viele* andere Lösungen!
Vor allem gibt es viele andere, teilweise interessanteren Ansätze: xUnit.net ist da so ein Beispiel. Die API und einige Ansätze gefallen mir persönlich besser als die von NUnit oder gar dem eingebauten Unittesting-Framework in .NET. Sicher relativ kleine Unterschiede, aber immerhin.
CruiseControl.NET wird auch viel erwähnt und scheint bewährt zu sein. Dazu gibt es auch viele Ressourcen im Web - imho ein durchaus wichtiger Faktor, da die Chance auf Probleme zu stoßen, die noch keiner gelöst hat, weitaus geringer ist. TeamCity von JetBrains bekommt im Netz auch viel Lob (und stammt aus einer "Qualitätsschmiede"

Zu exotische Kombinationen bergen natürlich immer ein gewisses Risiko in sich hinsichtlich der Integration und Wartbarkeit des Ökosystems. Andererseits hat man evtl. die bessere Wahl, als wenn ich mich zu stark an das MS Produkt "binde"?
Ich persönlich fände aus dem Bauch heraus ja erst einmal folgende Kombi attraktiv: Mercurial, NAnt, CruiseControl.NET, xUnit.net und moq. Allerdings fehlt mir klar die Erfahrung zu beurteilen, wie aufwendig das Setup und die Wartung davon ist... ganz abgesehen von fundierten Argumenten, wieso man welche Kombi / Lösung wählen sollte.
Hui, das war jetzt ganz schön .NET lastig... wie biege ich das Thema ein wenig in Richtung Python?


Generell denke ich aus eigener Erfahrung (wie man es nicht machen sollte

Also, ich freue mich über Infos, Erfahrungen, Gedanken zur Thematik und natürlich auch über gute Ressourcen
