2010-06-30 13 views
5

Sono in procinto di configurare il mio primo server di build automatizzato ... Tutto è andato abbastanza bene finora, CruiseControl.NET controlla correttamente tutti i file nececery da VisualSVN e crea il soluzione ... Tuttavia, è qui che si verifica un problema ...Specifica della piattaforma di destinazione con CruiseControl.NET

Un motivo importante per la configurazione di un server di generazione in primo luogo è perché ho bisogno di indirizzare entrambi, x86 e x64 con i miei progetti/file di installazione . Non riesco a trovare il modo di farlo. Questo è il mio file di configurazione finora (il bit rilevante):

<tasks> 
     <devenv> 
      <solutionfile>ProjectName.sln</solutionfile> 
      <configuration>Release</configuration> 
      <buildtype>Rebuild</buildtype> 
      <project>ProjectName</project> 
      <executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</executable> 
      <buildTimeoutSeconds>600</buildTimeoutSeconds> 
      <version>VS2010</version> 
     </devenv> 
    </tasks> 

Questo funziona correttamente, tuttavia voglio CruiseControl.NET costruirlo due volte, una per la piattaforma x86 e una volta per x64. Come lo posso fare?

ho il sospetto che ho bisogno di aggiungere un parametro aggiuntivo nel blocco di configurazione, ma nulla sembra funzionare e sono stato (stranamente) in grado di trovare un esempio con questa funzione ...

Grazie per il vostro aiuto ..

risposta

1

Si potrebbe provare a utilizzare l'attività msbuild, che dovrebbe consentire di fare ciò che si vuole fare ... basta passarvi i parametri appropriati. Per prima cosa dovrai configurare le configurazioni nel tuo file di progetto, come indicato nel here. Quindi è possibile aggiungere diversi target di MSBuild (uno per ogni configurazione che si vuole costruire), che sarà simile a questa:

<msbuild> 
    <executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
    <workingDirectory>C:\svn\TRUNK\Project</workingDirectory> 
    <projectFile>Solution.sln</projectFile> 
    <buildArgs>/noconsolelogger /t:Rebuild /p:Configuration=Release</buildArgs> 
    <timeout>900</timeout> 
    <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    </msbuild> 

Suppongo che si potrebbe essere in grado di fare qualcosa di simile utilizzando devenv, ma sono non sono sicuro.

+0

Due compiti devenv è consentita anche all'interno del blocco compiti – Pedro

Problemi correlati