2010-09-29 5 views
0

J'ai eu un NAnt/NAntContrib construire en cours d'exécution pendant un certain temps sur une machine:
(MS Windows Server 2003 Standard SP2 32 bits)Nant.MailLogger pour fonctionner sur Windows 2008

Et maintenant je besoin d'exécuter le même script de construction sur une nouvelle machine:
(Windows Server standard 2008)

J'ai obtenu NAnt et NAnt.Config installé et fonctionne sur la nouvelle machine.
J'utilise NAnt.Core.Maillogger sur la machine d'origine, configuré en tant que tel:

<property name="MailLogger.mailhost"  value="mail.server.com" /> 
<property name="MailLogger.from"   value="[email protected]" /> 
<property name="MailLogger.failure.notify" value="true" /> 
<property name="MailLogger.success.notify" value="true" /> 
<property name="MailLogger.failure.to"  value="[email protected]" /> 
<property name="MailLogger.success.to"  value="[email protected]" /> 
<property name="MailLogger.failure.subject" value="AUTOBUILD: Failure on TEST" /> 
<property name="MailLogger.success.subject" value="AUTOBUILD: Success on TEST" /> 
<property name="MailLogger.failure.attachments" value="MailLogger.failure.files" /> 
<property name="MailLogger.success.attachments" value="MailLogger.success.files" /> 

<fileset id="MailLogger.failure.files"> 
    <include name="build.log" /> 
</fileset> 
<fileset id="MailLogger.success.files"> 
    <include name="build.log" /> 
</fileset> 

Je gère un fichier .build de test très simple pour tester la poste fonctionnalité:

<target name="test_mail_pass"> 
    <echo message="Test Success: 
run by ${environment::get-user-name()}"/> 
</target> 

<target name="test_mail_fail"> 
    <echo message="Test Fail: 
run by ${environment::get-user-name()}"/> 
    <fail message="Some Failure occurred." /> 
</target> 

Les travaux ci-dessus sur l'original machine, et semble fonctionner sur la nouvelle machine, sauf pour le fait qu'aucun courrier n'est envoyé. Il n'y a aucun message dans la console qui indique que quelque chose s'est mal passé (en ignorant l'utilisation évidente de la tâche <fail>).

Je ne sais même pas par où commencer pour déterminer ce qui ne va pas ici, ou comment résoudre ce problème.

Toute aide serait grandement apprécié.

Répondre

0

J'ai résolu ce problème avec beaucoup de Google-ing.
Une de deux choses a résolu mon problème, et je ne sais pas ce que c'était, mais mon problème est maintenant résolu.

  1. Mon fichier batch nécessaire pour avoir l'option de ligne de commande suivante:

    -logger:NAnt.Core.MailLogger 
    
  2. Le fichier qui a été mentionné dans le:

    <fileset id="MailLogger.failure.files"> 
        <include name="build.log" /> 
    </fileset> 
    <fileset id="MailLogger.success.files"> 
        <include name="build.log" /> 
    </fileset> 
    

Besoin de existe réellement.
Un message que j'ai lu (perdu le lien) a indiqué un problème où si les fichiers à attacher n'existent pas, le courrier ne sera tout simplement pas envoyé.

Questions connexes