Domanda

Sto appena iniziando a configurare un server di integrazione continua utilizzando CruiseControl.Net. Per semplificare le cose, ho usato l'attività di Visual Studio per eseguire la compilazione, indicandola al file della soluzione del progetto. Tuttavia, quando si verifica il processo di compilazione, CC.Net ottiene correttamente la versione di origine più recente da Subversion e sembra eseguire il comando devenv. Il processo di compilazione quindi non riesce, ma non vi è alcuna spiegazione sul perché. Ecco l'output:

  

BUILD FAILED
  Progetto: MyProject
  Data di costruzione: 2009-09-09 16:31:13
  Durata: 00:00:49
  Richiesta di integrazione: Dashboard ha attivato una build (ForceBuild)

     

Modifiche dall'ultima build (0)

     

Test eseguiti: 0, Errori: 0, Non eseguito: 0,   Tempo: 0 secondi Nessun test eseguito   il progetto non ha test

Non c'è nient'altro visualizzato sulla pagina. Anche i miei log XML non mostrano alcun risultato di compilazione.

Questo è il mio file di configurazione:

<!--<ccnetconfig><configurationVersion>1.4</configurationVersion></ccnetconfig>-->
<cruisecontrol>
  <project name="MyProject">
    <workingDirectory>C:\Users\Builder\Desktop\builder-pc\MyProject</workingDirectory>
    <sourcecontrol type="svn">
      <trunkUrl>svn://builder-pc/MyProject/trunk</trunkUrl>
      <workingDirectory>C:\Users\Builder\Desktop\builder-pc\MyProject</workingDirectory>
      <executable>C:\Program Files\Subversion\bin\svn.exe</executable>
      <autoGetSource>True</autoGetSource>
      <tagOnSuccess>True</tagOnSuccess>
    </sourcecontrol>
    <tasks>
      <devenv>
        <solutionfile>C:\Users\Builder\Desktop\builder-pc\MyProject\trunk\MyProject.sln</solutionfile>
        <configuration>release</configuration>
        <buildtype>Rebuild</buildtype>
        <executable>C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</executable>
        <buildTimeoutSeconds>600</buildTimeoutSeconds>
      </devenv>
    </tasks>
  </project>
</cruisecontrol>

Ho deliberatamente rimosso cose come il nome utente e la password SVN.

La creazione della soluzione utilizzando il prompt dei comandi VS funziona, sebbene con avvisi. Questo sta usando gli stessi swtich che CC.Net userebbe.

Qualcuno può aiutare? Sta fallendo perché non ci sono test unitari da eseguire o a causa degli avvisi? O è meglio passare a MSBuild o NAnt invece di utilizzare l'attività di Visual Studio?

È stato utile?

Soluzione

Se non ci sono informazioni utili nel registro di compilazione, prova a consultare il registro del server per informazioni sull'errore.

Altri suggerimenti

Penso che il motivo per cui non vedi alcun output nei file di registro xml sia perché non hai una sezione <publishers> appropriata nel tuo <project>.

Prova:

<publishers>

  <xmllogger />

</publishers>

Prova a eseguire la build con MSBuild anziché devenv.exe. Se il registro viene unito all'xml ma non viene visualizzato correttamente nella dashboard Web, assicurarsi che xsl transforms sono abilitati. Inoltre, come menzionato Scrappydog, aggiungi l'editore xmllogger (anche se dovrebbe essere aggiunto di default se non hai alcun editore definito, puoi verificarlo nella pagina 'Configurazione progetto' nella cruscotto.

Dovresti usare devnev.com (nota che l'estensione del file è .com , non .exe) nello stesso percorso (es. C: \ Programmi \ Microsoft Visual Studio 9.0 \ Common7 \ IDE), anziché devnev.exe.

Il blocco <executable> è facoltativo e da CruiseControl. Documentazione NET , utilizzerà l'ultima versione di devnev.com, non devnev.exe.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top