CruiseControl.NET - parte 1: L'installazione

Ecco qui, come avevo promesso, provo a riassumere e a "formalizzare" un documento che aiuti altri a installare questo fenomenale strumento di gestione centralizzate delle build che è CruiseControl.NET (d'ora in avanti CC.NET).

Prerequisiti

  • ovviamente una macchina configurata per funzionare con IIS e framework .NET
  • .NET SDK (si, serve anche l'SDK se volete anche compilare)
  • uno strumento per "fare la build", CC.NET ne supposta due nativamente e poi supporta la build da riga di comando, quindi, in alternativa, serve:
    • VS.NET 2003
    • NAnt
    • MSBuild (il motore di build del futuro VS2005)
    • il banale csc.exe
    Io ho installato NAnt e quindi la documentazione sarà basata su quello, ma le stesse funzionalità si possono ottenere anche con MSBuild. Sconsiglio invece vivamente l'uso di VS.NET perchè, per primo è "brutto" installare uno strumento del genere su un server, e poi perchè gli altri due permettono di fare delle cose che VS.NET neanche si sogna lontanamente
  • uno strumento per la gestione del codice sorgente (poi vederemo che non è realmente necessario)
    • Visual Sorce Safe
    • Vault
    • CVS
    • ...

Installazione

Ipotizzando di avere già installato sul server IIS, Framework .NET, e .NET SDK e Visual Source Safe ora dobbiamo installare NAnt:

NAnt

Per far questo basta andare sul sito nant.sourceforge.net e scaricare l'ultima versione che ad ora è la 0.85-rc1.
Poi basta unzippare il contenuto del file in directory a vostro piacimento e aggiungere alla variabile d'ambiente Path la directory nant\bin.
Per verificare la buona uscita dell'installazione digitare al prompt dei comandi nant -help.                        
E' giunta l'ora di installare CC.NET.

CC.NET

Scaricare l'ultima release di CC.NET, al momento è 0.7 e, come prima, scompattarla in una directory a vostro piacimento.

Otterete una directory che contiene le seguenti sottodirectory:

  • cctray: il programmino da installare sui PC degli sviluppatori, che serve per monitorare le build in tempo reale
  • doc: ovviamente contiene la documentazione
  • server: il server che gestisce il processo di build: è disponibile sia come eseguibile che come servizio
  • web: l'applicazione web che mostra il report di ogni singolo progetto
  • webdashboard: l'applicazione web che mostra il report centralizzato del server e dei singoli progetti
  • webservice: il webservice per gestire CC.NET

Ora rimuoviamo quello che non serve: per quello che ho provato io, sul server si possono cancellare tranquillamente le cartelle:

  • cctray: serve solo sui client
  • doc: meglio tenerseli in locale Smile
  • web: la webdashboard contiene le stesse funzioni di questa cartella e non necessita, come invece questa, di essere replicata per ogni progetto posto sotto il controllo di CC.NET
  • webservice: è ancora in fase di sviluppo, non ha ancora un'utilità pratica Smile che piange

Configurazione

Ora che abbiamo installato tutto, inizia la parte interessante, cioè la configurazione del server.

CC.NET Server

Come detto sopra, esistono due versione del server, quella da riga di comando, e il servizio: entrambe accedono allo stesso file di configurazione ccnet.config, quindi prima useremo il programma da linea di comando, e poi, quando tutto funziona correttamente, useremo il servizio.

Per prima cosa bisogna creare un file che si chiama ccnet.config con il seguente contenuto:

 <cruisecontrol>
 <
/cruisecontrol>

E poi possiamo lanciare il programma ccnet.exe (basta farci doppio clic sopra).
Abbiamo appena attivato il server di gestione delle build centralizzate CruiseControl.NET.
Ora però dobbiamo modificare il file in modo che gestisca i progetti che ci interessano.
Per far questo bisogna capire come è strutturato il file di configurazione.

Ecco qui sotto un esempio, ma vi rimando alla prossima "puntata" per la spiegazione dettagliata dei blocchi che lo compongono.

 <cruisecontrol>
   <project>
     <
name>Project 1</name>
     <workingDirectory>
D:\CCNET-Projects\workingFolder\Project 1</workingDirectory>
     <artifactDirectory>
D:\CCNET-Projects\artifacts\Project 1</artifactDirectory>
       <webURL>
http://ccnet/Controller.aspx?_action_ViewProjectReport=true&amp;server=local&amp;project=Project 1</webURL>
 
         <sourcecontrol 
type="vss" autoGetSource="true" applyLabel="false">
            <project>
$/Project 1</project>
10             <username>
ccnet</username>
11             <password>
ccnet</password>
12             <ssdir>
\\VSSServer\VSS</ssdir>
13             <workingDirectory>
D:\CCNET-Projects\workingFolder\Project 1</workingDirectory>
14          <
/sourcecontrol>
15  
16          <build 
type="nant">
17              <executable>
D:\Program Files\nant\bin\nant.exe</executable>
18              <buildFile>
nant.build</buildFile>
19              <buildArgs>
-D:publish.root=D:\CCNET-Projects\Builds\Project 1</buildArgs>
20          <
/build>
21  
22    <triggers>
23       <pollingInterval 
seconds="60" />
24     <
/triggers>
25     <publishers>
26        <xmllogger 
/>
27    <
/publishers>
28  
29    <
/project>
30  <
/cruisecontrol>

powered by IMHO 1.1 with Emoticon Formatter

posted @ Wednesday, January 12, 2005 2:27 PM

Print

Comments on this entry:

# L'articolo su CC.NET pare che interessi :-)

Left by FoxyBlog at 1/17/2005 1:28 PM
Gravatar

# CruiseControl.NET - parte 1: L'installazione

Left by FoxyBlog at 1/20/2005 12:31 PM
Gravatar

# CruiseControl.NET - parte 2: Configurazione Progetti

Left by FoxyBlog at 1/20/2005 2:37 PM
Gravatar

# re: Team Build di Team System

Left by UGbLog di Pierre Greborio at 5/13/2005 3:38 PM
Gravatar

# CruiseControl.NET

Left by FoxyBlog at 9/23/2005 10:05 AM
Gravatar

# CruiseControl.NET

Left by FoxyBlog at 9/23/2005 10:08 AM
Gravatar

# Rilasciata la 0.8 di CruiseControl.NEt

Left by FoxyBlog at 9/23/2005 10:11 AM
Gravatar
Comments have been closed on this topic.
«August»
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789