2010-11-01 3 views
1

Nous avons un très grand système hérité qui est construit en utilisant des fichiers batch complexes. Notre serveur CruiseControl.NET appelle simplement les fichiers batch et vérifie le code retour, ce qui fonctionne bien et produit une compilation réussie. Parfois, cependant, le fichier de commandes ne semble pas retourner correctement après une génération réussie, et CruiseControl.NET frappe simplement le délai d'expiration et signale que la génération a échoué.CruiseControl.NET vérifie la sortie pour les messages de réussite

Y at-il un moyen que je peux obtenir CruiseControl.NET pour vérifier la sortie du fichier de commandes pour la chaîne qui indique une construction réussie, et signaler correctement l'état de la construction?

(Quand je reçois un jour ou deux de rechange, je veux réécrire les scripts de compilation en utilisant NAnt ou quelque chose, mais cela n'a pas été considérée comme une priorité depuis son si compliqué, et il travaille actuellement)

EDIT: cette est l'entrée dans ccnet.config

<project name="MyProject" queue="Q1" queuePriority="1"> 
    <workingDirectory>D:\MyProject</workingDirectory>  
    <triggers /> 
    <tasks> 
     <exec> 
     <executable>buildexe.bat</executable> 
     <baseDirectory>D:\MyProject</baseDirectory> 
     <buildArgs>V12.8 MyProject</buildArgs> 
     <buildTimeoutSeconds>6000</buildTimeoutSeconds> 
     <successExitCodes>0</successExitCodes> 
     </exec> 
    </tasks> 
    <publishers> 
     <xmllogger logDir="D:\MyProject\logs\V12.8" />  
    </publishers>  
    </project> 

Répondre

1

Avez-vous essayé de définir explicitement les codes successexits?

Voir http://confluence.public.thoughtworks.org/display/CCNET/Executable+Task

+0

Oui, j'ai ' 0' et le fichier batch doit définir le code de retour à 0 en cas de succès ou 1+ pour un échec. Il semble parfois qu'il ne finit jamais, bien que le fichier de commandes arrive à la fin de son journal, et il semble toujours finir si vous l'exécutez manuellement. –

+1

Arf. Pourriez-vous localiser la dernière tâche exécutée de votre lot de construction en utilisant le xmllogger? –

+0

L'enregistreur semble inclure toutes les sorties du fichier batch - jusqu'au point où il retourne avec succès, si vous l'exécutez à partir de la console. –

Questions connexes