Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Softwaretests und Qualitätssicherung (https://www.delphipraxis.net/86-softwaretests-und-qualitaetssicherung/)
-   -   Build Server (https://www.delphipraxis.net/153092-build-server.html)

Fridolin Walther 20. Jul 2010 15:52

Build Server
 
Hallo,

Ich bin derzeit auf der Suche nach einer vernuenftigen Loesung fuer einen Build Server. Meine privaten Projekte haben mittlerweile eine Groesse erreicht, wo ein simples Compilen nicht ausreicht um eine lauffaehige Anwendung fuer den User zu bekommen. Es gibt einfach unzaehlige zusaetzliche Schritte, die ich gerne automatisieren wuerde. Dadurch das ich durchaus verschiedene Entwicklungstools nutze, sind die meisten von den Herstellern angebotenen Loesungen (TFS z.B.) einfach nicht geeignet.

Bevor ich jetzt eine eigene Loesung implementier, liegt es natuerlich nahe mal rumzufragen, ob jemand evtl. eine bestehende Loesung kennt, mit der sich folgende Dinge realisieren lassen:
  • Delphi Builds (Delphi 7 & 2010)
  • Visual Studio Builds (VS2010)
  • WDK Builds (WDK 7.1)
  • Grundlegende Dateioperationen (Verzeichnisse anlegen, Dateien kopieren, Dateien loeschen etc.)
  • Ausfuehrung von eigenen Anwendungen zu bestimmten Zeitpunkten im Buildprozess (Source Checkout aus dem Repository, Aktualisierung der Versionsinfos basierend auf den SCM Daten, Download bestimmter Datendateien, Ausfuehrung des Setup Compilers, Generierung spezieller Datendateien, Signierung der Binaries etc.)
Derzeit benutz ich riesiges Batchfile fuer jedes Projekt um das Projekt zu bauen. Die Scripts sind voll mit redundantem Code (zum Ersetzen der Versionsinfos, zum Signieren der Dateien, zum Generieren der Setups etc.) und mittlerweile entsprechend unuebersichtlich. Die recht umstaendliche Fehlerueberpruefung via ERRORLEVEL tut da ihr uebriges.

Kennt jemand vielleicht ein paar Tools? MSBuild erscheint mir ein wenig Overkill zu sein. Davon abgesehen find ich XML noch deutlich unuebersichtlicher als es Batch jemals sein koennte. Hat jemand evtl. Erfahrung mit MAKE unter Windows Systemen und mit den oben erwaehnten Entwicklungstools?

Bin fuer jedwedes Feedback dankbar :).

PS: Da die Builds in Zukunft via Webinterface ausgeloest werden sollen, fallen GUI Anwendungen uebrigens bereits im Vorfeld raus.

Bernhard Geyer 20. Jul 2010 15:55

AW: Build Server
 
Schau dir mal FinelBuilder an

Uwe Raabe 20. Jul 2010 16:12

AW: Build Server
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1036396)
Schau dir mal FinelBuilder an

Genau, aber den mit "a" statt "e". Und für dein Webinterface gibt es den FinalBuilder Server.

Fridolin Walther 20. Jul 2010 16:15

AW: Build Server
 
Ist aber kompletter Overkill - leider. Dazu sprengt es dann doch meinen privaten finanziellen Rahmen.

franktron 20. Jul 2010 16:22

AW: Build Server
 
Vielleicht reicht ja auch Powershell aus damit kann man schöne Scripte machen.

Und Delphi hat ja immer einen (in den ab Pro Versionen) eine Konsolencompiler

Fridolin Walther 20. Jul 2010 16:25

AW: Build Server
 
An PowerShell hab ich noch gar nicht gedacht. Lassen sich PowerShell Script problemlos von einem Service aus starten (IIS in dem Falle)?

franktron 20. Jul 2010 16:34

AW: Build Server
 
Keine Ahnung frag doch mal Google

alcaeus 20. Jul 2010 17:37

AW: Build Server
 
Hallo,

letztens gab es jemanden der Hudson dafuer verwendet hat. Ich kann dir den Server waermstens empfehlen.

Greetz
alcaeus

Fridolin Walther 20. Jul 2010 18:23

AW: Build Server
 
Hudson sieht wirklich sehr interessant aus. Werd es direkt mal in ner VM testen. Danke fuer den Tipp :).

mjustin 20. Jul 2010 20:23

AW: Build Server
 
Ant und NAnt sind kostenlos, einfach zu konfigurieren und können auch in Hudson integriert werden:

http://ant.apache.org/

http://nant.sourceforge.net/

Mit Ant kann man über <apply> auch MSBuild ausführen. Ich baue mit Ant auch Doku, lasse Tests (DUnit) und madExceptPatch ausführen, generiere dynamisch ein Innosetup-Skript und zippe die Setup-Exe Dateien. ... Es kann fast alles ausser Kaffee kochen :)

WTF4syym 21. Jul 2010 07:27

AW: Build Server
 
Hallo,

TeamCity von JetBRAINS in Kombination mit MsBuild leisten sehr gute Arbeit. Nur mit D7 hab ich es selbst noch nicht getestet. Und es ist kostenlos. Auch für den kommerziellen Einsatz.

Christian

Fridolin Walther 21. Jul 2010 09:40

AW: Build Server
 
Zitat:

Zitat von mjustin (Beitrag 1036487)
Ant und NAnt sind kostenlos, einfach zu konfigurieren und können auch in Hudson integriert werden.

Beide basierend auf XML und fallen auf grund der mangelnden Human Readability damit fuer mich raus.

mjustin 21. Jul 2010 10:14

AW: Build Server
 
Zitat:

Zitat von Fridolin Walther (Beitrag 1036553)
Zitat:

Zitat von mjustin (Beitrag 1036487)
Ant und NAnt sind kostenlos, einfach zu konfigurieren und können auch in Hudson integriert werden.

Beide basierend auf XML und fallen auf grund der mangelnden Human Readability damit fuer mich raus.

Tja, dann bleibt nur noch Hudson, das ist gut und günstig (und wird auch für den Build von Delphi eingesetzt) :)

mjustin 21. Jul 2010 10:19

AW: Build Server
 
Zitat:

Zitat von WTF4syym (Beitrag 1036527)
Hallo,

TeamCity von JetBRAINS in Kombination mit MsBuild leisten sehr gute Arbeit. (...) Und es ist kostenlos. Auch für den kommerziellen Einsatz.

Die kostenlose Version ist allerdings begrenzt auf eine (relativ kleine) Anzahl Projekte.

Fridolin Walther 21. Jul 2010 12:35

AW: Build Server
 
Ich spiel derzeit ein wenig mit Hudson rum. Ist wirklich recht sexy. Allerdings bin ich irgendwie dazu verleitet jeden Build Step als Mini Batch Script zu implementieren. Wirklich gluecklich bin ich damit entsprechend noch nicht.

Oracle 16. Aug 2010 17:36

AW: Build Server
 
Ich verwende Hudson in Verbindung mit Ant Scripten und kann es absolut empfehlen!

Hudson selbst erledigt zum Beispiel den Checkout vom SVN und pollt auch automatisch wann es auf dem Repository Änderungen gibt. Daraufhin startet es den Buildprozess.

Die meisten weiteren Buildschritte mache ich dann mit Ant. Und ich sehe da kein Problem wegen der Lesbarkeit. Für einen Softwareentwickler ist das auch nicht weniger lesbar als der Programmcode den man schreibt.

Die mit Ant realisierten Buildschritte sind:
-Build der Unit-Tests
-Ausführen der Unit-Tests
-Wenn erfolgreich dann Build des Programms
-Mad Except Patch ausführen
-Buildnummer des Programms mit der SVN Revisionsnummer ersetzen
-Erstellen der Bedienungsanleitung über Latex
-Setup erstellen
-Setup ins Firmennetz kopieren

Hudson kann stellt zusätzlich noch die Ergebnisse der Unittests sehr anschaulich für jeden einzelnen Build dar. Damit wird sichtbar wie sich die Unittests über die Zeit verändern. Ob es mehr werden, oder wann wieviele Tests fehlgeschlagen sind.
Wenn der Build fehlschlägt bekomme ich sofort eine Email. Wenn er wieder richtig läuft dann auch.

QStorm 18. Nov 2011 12:36

AW: Build Server
 
@Oracle: Wäre es möglich die folgenden Ant-Scripte zu posten:

-Build der Unit-Tests
-Ausführen der Unit-Tests
-Wenn erfolgreich dann Build des Programms

Ich versuche auch gerade ein Delphi-Projekt per Ant-Script / batch zu kompilieren.
Leider habe ich viele Abhängigkeiten im Projekt sodass mein batch-Befehl zu lang für Windows wird. :(

Vielen Dank :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz