2010-12-20 3 views
2

J'ai un problème lors de la publication de l'état actuel de mon projet.Commande de publication de Cruisecontrol onfailure

Cartographie:

<publishers> 
    <xmllogger /><!-- Log For WebDashboard ##Do not remove##-->  
    <email> 
    ... 
    </email> 
    <onfailure> 
    <exec> 
     <executable>echo ERROR > logs/status.txt</executable> 
    </exec> 
    </onfailure>    
</publishers> 

Quand je veux commencer mon service que je reçois le message suivant:

ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: Impossible d'instancier projets CruiseControl du document de configuration. Le document de configuration manque probablement de nœuds Xml requis pour remplir correctement la configuration de CruiseControl. Impossible de charger Array « onfailure » - Impossible de convertir le type System.String à ThoughtWorks.CruiseControl.Core.ITask pour objet une valeur: « echo erreur> logs/status.txt »

Est-ce que quelqu'un sait ce que ce message veux dire?

Merci d'avance

Alex

Répondre

5

Utilisez-vous CruiseControl ou CruiseControl.NET?

Si CC.NET, le noeud "onfailure" n'existe pas. Au lieu de cela, vous devez utiliser l'Éditeur Conditionnal [1] comme ceci:

<conditionalPublisher> 
    <conditions> 
     <condition>Failure</condition> 
    </conditions> 
    <publishers> 
     <exec> 
      <executable>echo ERROR > logs/status.txt</executable> 
     </exec> 
    </publishers> 
</conditionalPublisher> 

Vous devrez peut-être résumer votre tâche d'écho dans un cmd invokation:

<exec> 
    <executable>cmd.exe</executable> 
    <buildArgs>/c "echo ERROR > logs\status.txt"</buildArgs> 
</exec> 

[1] http://ccnetlive.thoughtworks.com/ccnet/doc/CCNET/Conditional%20Publisher.html

+0

Merci pour votre réponse, j'ai essayé votre solution, maintenant je reçois le message d'erreur: ThoughtWorks.CruiseControl.Core.Config.ConfigurationException: noeud non utilisé détecté: non écho erreur > logs/status.txt J'utilise la version 1.5.7256.1 –

+0

Bien sûr, cela fonctionne, je suis désolé je ne ai pas su que c'est un sous-noeud des éditeurs, v ery grâce à votre approvisionnement. (: –

0

De documentation, il semble que <executable> doit être le nom de l'exécutable et les arguments doivent être passés dans <buildArgs>. Donc, quelque chose comme ça peut faire l'affaire.

<exec> 
    <executable>echo</executable> 
    <buildArgs>ERROR > logs/status.txt</buildArgs> 
</exec> 
+0

Merci pour la réponse, ceci n'a pas résolu mon problème, même message:/ –

+0

En rapport avec la réponse ci-dessous, cela a fonctionné, merci. –