2010-06-30 23 views
5

Ich bin gerade dabei, meinen allerersten automatischen Buildserver einzurichten ... Bis jetzt läuft alles recht reibungslos, CruiseControl.NET prüft alle Needlecery-Dateien von VisualSVN korrekt und erstellt die Lösung ... Jedoch, das ist, wo ich ein Problem ...Angeben der Zielplattform mit CruiseControl.NET

Ein großer Grund für die Einrichtung eines Build-Server an erster Stelle ist, weil ich beide, x86 und x64 mit meinen Projekten/Setup-Dateien zielen müssen . Ich bin nicht in der Lage, den Weg dafür zu finden. Dies ist meine Konfigurationsdatei so weit (das entsprechende Bit):

<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> 

Dies richtig funktioniert, aber ich will CruiseControl.NET es zweimal zu bauen, einmal für die Zielplattform x86 und einmal für x64. Wie kann ich das machen?

Ich vermute, ich brauche einen zusätzlichen Parameter in Konfigurationsblock hinzuzufügen, scheint jedoch nichts zu arbeiten, und ich war (seltsamerweise) nicht in der Lage ein Beispiel mit dieser Funktion zu finden ...

Vielen Dank für Ihre Hilfe ..

Antwort

1

Sie könnten stattdessen versuchen, die msbuild-Aufgabe zu verwenden, die Ihnen erlauben sollte, das zu tun, was Sie tun wollen ... geben Sie einfach die entsprechenden Parameter ein. Zuerst müssen Sie die Konfigurationen in Ihrer Projektdatei einrichten, wie beschrieben here. Dann können Sie mehr msbuild Ziele (eine für jede Konfiguration, die Sie bauen wollen) hinzufügen, die diesen ähnlich sein werden:

<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> 

Ich nehme an, Sie könnten in der Lage sein, etwas zu tun, ähnlich devenv, aber ich bin nicht sicher.

+0

Zwei devenv Aufgaben auch innerhalb der Aufgaben Block erlaubt ist – Pedro