2010-06-30 18 views
5

Je suis dans un processus de configuration de mon tout premier serveur de build automatisé ... Tout s'est bien déroulé jusqu'à présent, CruiseControl.NET vérifie correctement tous les fichiers de la documentation de VisualSVN et construit le solution ... Cependant, c'est où je rencontre un problème ...Spécification de la plate-forme cible avec CruiseControl.NET

Une grande raison de configurer un serveur de construction en premier lieu est parce que je dois cibler à la fois, x86 et x64 avec mes projets/fichiers d'installation . Je suis incapable de trouver le moyen de le faire. Ceci est mon fichier de configuration jusqu'à présent (le bit correspondant):

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

Cela fonctionne correctement, mais je veux CruiseControl.NET pour le construire deux fois, une fois pour la plate-forme cible x86 et une fois pour x64. Comment puis je faire ça?

Je pense que je dois ajouter un paramètre supplémentaire dans le bloc de configuration, mais rien ne semble fonctionner et j'étais (assez curieusement) incapable de trouver un exemple avec cette fonctionnalité ...

Merci pour votre aide ..

Répondre

1

Vous pourriez essayer d'utiliser la tâche msbuild à la place, ce qui devrait vous permettre de faire ce que vous voulez faire ... il suffit de lui passer les paramètres appropriés. D'abord, vous devrez configurer les configurations dans votre fichier de projet, comme indiqué here. Ensuite, vous pouvez ajouter plusieurs cibles msbuild (un pour chaque configuration que vous voulez construire), qui sera similaire à celui-ci:

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

Je suppose que vous pourriez être en mesure de faire quelque chose de similaire en utilisant devenv, mais je suis pas certain.

+0

Deux tâches de devenv est également autorisée dans le bloc de tâches – Pedro