Webhosting inkl. Homepagebaukasten!

CruiseControl.Net unter Windows XP SP3 installieren und einrichten

CC.Net ist ein Framework aus der Softwareentwicklung welches die Kontinuierliche Integration (continuos integration) sicherstellen soll.

Das Framework steht unter der BSD-Lizenz und wurde als OpenSource-Projekt von ThoughWorks, unter anderem von Martin Fowler (ehem. Autor von AddisonWesley), in Java entwickelt.

CC.Net funktioniert nach dem Prinzip der Kontinuierlichen Integration, welches in einem Software-Repository ständig nach Neuerungen sucht und bei Erfolg werden anschließend Builds erstellt und daraufhin getestet.

Was brauchen wir also um dieses Rahmen-Werk zu nutzen?

Zum einen ein Repository aus einem Versions-Kontroll-System (VKS), in meinem Beispiel nutze ich GIT und ich nehme ein Beispielrepository von http://github.com/.  Danach brauchen wir noch zwei Werkzeuge, welches mir ein aktuelles Build, meines Projektes, erstellt und die Builds automatisch testet. Dazu wähle ich NAnt, für die Builds und NUnit,für die Test’s . All diese Werkzeuge verwende ich in der aktuellen Version, Git(1.7.2.3) – NAnt (0.9.0) – NUnit (2.5.7).

Installation

CC.Net (1.5.7256.1) wird mittel des Installers auf dem Betriebssystem installiert. Dieser Installer trägt den Server automatisch als Windows-Dienst ein. Die Standart-Installation liegt bei mir im Pfad  %Progamme%\CruiseControl.NET.

In dem Ordner liegen nun 3 weitere Ordner 1. \Examples\  2. \server\ und 3. \webdashboard\

Konfiguriert wird der Server mittels der vorhandenen .XML- Dateien die sich im Pfad „%Programmverzeichnis%\Server\ccnet.config“, aber dazu kommen wir später noch.

Installation von NAnt:

NAnt herunterladen und im Programmverzeichnis entpacken. Bei mir ist es „C:\Programme\NAnt\“.

Nun liegen dort die Ordner\bin\;\doc\;\examples\;\schema\. Der Ordner „\bin\“ ist für mich am wichtigsten, da sich dort die Ausführungsdatei „nant.exe“ befindet.Um nun Zugriff via Konsole oder auch von CC.NET zu bekommen legen wir eine Batch-Datei an mit folgendem Inhalt:

@echo off

"C:\Program Files\NAnt\bin\NAnt.exe"%*

Die Batch muss dementsprechend auf Ihr System angepasst werden und in das %windir% (Windows)-Verzeichnis gespeichert werden. somit entfällt lästiges Ordnergehopse in der Konsole und kann ohne Pfadangabe gestartet werden.

Installation NUnit:

Aktuelle Version herunterladen und ggf. entpacken, wie oben beschrieben.

Die Installation kann durch den verfügbaren MSI-Installaers durch geführt werden und somit werden alle relevantern Einträge automatisch erstellt und gesetzt.

Konfiguration CC.NET:

Wie weiter oben schon erwähnt wird CC.NET über die „ccnet.config“  konfiguriert.

Dazu sollte diese mit einem entsprechendem Editor (z.B. Notepad++ oder PsPad bzw. den Windows-Editor) geöffnet werden. Legen wir nun ein Projekt namens „Test“ an.

<sourcecontrol type="git">
  <repository>git://github.com/rails/rails.git</repository>
</sourcecontrol>

Der Konfigurationsaufbau ist logisch Struturiert, als erstes muss das Projekt inkl. dem dazugehörigen Repository definiert werden und danach alle weiteren Arbeitsschritte (tasks) die CC.NET ausführen soll. Da in der Softwareentwicklung meist an mehreren Projekten gleichzeitig gearbeitet wird besteht bei CC.NET die Möglichkeit dieses ebenfalls zu konfigurieren (Multi Source Control). Ein Bespiel dafür sieht wie folgt aus:

<sourcecontrol type="multi">
  <sourceControls>
    <filesystem>
      <!-- Check for changes in the latest 1.2 version of the server... -->
      <repositoryRoot>\\DistributionFileServer\Server\1.2.latest</repositoryRoot>
    </filesystem>
    <cvs>
      <!-- ...or in the source of the client project -->
      <executable>c:\tools\cvs-exe\cvswithplinkrsh.bat</executable>
      <workingDirectory>c:\localcvs\myproject\client</workingDirectory>
    </cvs>
  </sourceControls>
</sourcecontrol>

Ich will hier nicht weiter darauf eingehen, da dieses jetzt nicht unbedingt zum Thema passt und ausarten würde.

Machen wir einfach weiter mit usnerem Beispiel-Projekt „Test“.

Oben haben wir bereits den Namen und den Pfad zum Repository auf „github.com“ angelegt. Die Konfiguration muss also um einiges erweitert werden.

 Projekt beginnend mit Repository

		<project name="Test">
  <sourcecontrol type="git">
<repository>git@github.comXXXX.git</repository>
<branch>master</branch>
<autoGetSource>true</autoGetSource>
<executable>C:\Programme\Git\cmd\git.cmd</executable>
<tagOnSuccess>true</tagOnSuccess>
<commitUntrackedFiles>true</commitUntrackedFiles>
<tagCommitMessage>CCNet Build {0}</tagCommitMessage>
<tagNameFormat>CCNet-Build-{0}</tagNameFormat>
<workingDirectory>%USER%\%Projektname%</workingDirectory>
</sourcecontrol>
</pre>

Das Projekt haben wir nun konfiguriert, aber nur das Repository reicht ja nicht aus.
Kommen wir nun zum 2. und 3. Konfigurationspunkt, dem Build-Tool NAnt und NUnit.

Dieses wird hinter dem tag &lt/sourcecontrol&gt angelegt.
Es werden nun auch nur noch sogenannte tasks angelegt.

NAnt-task

danach

NUnit-task

so wenn nun alles soweit in der .config drin steht wollen wir mal testen.
Dazu einfach den Server starten und wenn alles grün ist so sollten wir fertig sein. bei roter Schrift begeben wir uns auf Fehlersuche. entweder lesen wir die Fehler im Server-Terminal ab oder wir holen uns die Info´s aus den Log-Dateien, die im Ordner

"%programmverzeichnis%/Server/Test/Log"

liegen.
Wir gehen mal davon aus, dass alles funktioniert und wir nun mit einem weiteren Tool beginnen können.
Als Monitoring-Tool nutze ich CC.Tray.

Dieses Tool lässt sich einfach über den Installer installieren.
Ist dieses geschehen, können wir nun unseren Server (hier localhost) einbinden.

Nun noch mit der Sekundärtaste der Maus auf den Server und auf Force-Build gehen.

Es sollte alles durchlaufen und wenn euer Code  ohne Fehler ist, dann is auch alles grün und Ihr könnt damit arbeiten.

Viel Spaß und Erfolg

Tags: , , , , , , , , , , , , , ,

Administrator aus Leidenschaft

2 Kommentare Kommentar schreiben

  1. Danke ich habe dieses korrigiert!

  2. Der Batch-Eintrag ist sehr problematisch, da so keine Parameter verarbeitet werden können. Z.B. funktioniert
    nant release cleannall build
    nicht!
    Richtigerweise muss der Batch-Eintrag
    „…\nant.exe“ %*
    lauten.

    Viele Grüße Robert

Kommentar schreiben