PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Standgenerierung: Wie /baut/ man heute Binärcode?


mekakic
2010-01-18, 17:35:27
Ich habe mich noch nie damit auseinandergetzt, soll mir aber nun Gedanken zu einem Build System machen. :confused:

Da frage ich mich: was muß man sich da überhaupt für Gedanken machen, was gilt es bei solchen Sachen zu berücksichtigen?

Im Prinzip soll ein kleiner Berg C++ Projekte (Visual Studio Solution Files), mit einem nicht minder kleinem Berg Middleware (externe und interne) zu einem Stapel Windowsanwendungen übersetzt werden.

Von Ant oder Maven habe ich schonmal den Namen gehört, weiß aber nicht was sie auszeichnen oder was überhaupt in der Welt noch abgeht. Was sind Fragen die man sich da stellen muß, um irgendwann zu einem guten Konzept zu kommen? Was sind gute Ideen, wenn man heute ein Standbaukonzept dieser Art erstellen möchte, das z.B. einen Nightly Build produziert und beim einchecken oder dem allgemeinen Bau die Software evtl. auch Standardtests unterziehen kann. Habe zwar schon viel Software gebaut, aber über das "Bauen lassen" mir noch nie Gedanken gemacht.

Superguppy
2010-01-18, 17:41:00
Bei meinem letzten Arbeitgeber wurde für Builds dieses Tool eingesetzt:
Visual Build (http://www.kinook.com/VisBuildPro/)

Das kann mit den Visual Studio Solution Files wunderbar umgehen (dort waren es C#-Projekte). Grundsätzlich ist das Ganze so etwas wie eine bessere Batchdatei inklusive GUI. Das heißt du legst fest, was kompiliert werden soll, wie die Sachen zusammen kopiert, als MSI verpasst, ... werden. Dabei lassen sich auch beliebige Drittprogramme aufrufen.

Während des Buildens zeigt das Programm an, bei welchem Schritt die "Batchdatei" gerade arbeitet. Und natürlich kann man auch alles in Einzelschritten durchgehen, was bei der Fehlersuche hilfreich ist. =)

Coda
2010-01-18, 17:52:01
Schau dir mal MSBuild an. Das wird ab Version 2010 auch in Visual Studio verwendet.

mekakic
2010-01-19, 09:54:46
Danke! Ich schaue mir gerade beide Tools an. MSBuild gibt es erst aber 2005 wenn ich die MSDN Doku richtig lese? Zum Einsatz kommt hier noch 2003.

Wobei es mir eher um Konzepte als um technische Lösungen geht. Muß man sich bei diesen Produkten noch irgendwie darum kümmern, dass die Abhängigkeiten korrekt aufgelöst werden und wie muß ich mir das vorstellen. Erkennen diese Systeme das alles automatisch?

Für mein Verständnis ist Standgenerierung erstmal nur automatisiertes Bauen (was ich sonst auch per Hand in der IDE mache) mit anschließendem Ablegen des Produkts (z.B. zu gewissen Zeiten auf irgendeinem Server). Mir ist noch nicht klar, ob ich damit schon die komplette Sachlage überblicke oder mir da einige Nebeneffekte abgehen.