Nant Copy Task non viene copiato quando eseguito da TeamCity
Domanda
Ho il seguente target nel mio script nant:
<target name="update" verbose="true">
<copy todir="${dirs.deploy}">
<fileset basedir="${dirs.drop}\_PublishedWebSites\RomanceReminder.Web">
<include name="**/*.*" />
</fileset>
</copy>
</target>
quando eseguo manualmente questo script, nel registro è visibile il seguente output:
[Nant] C: \ Projects \ RomanceReminder \ BuildScripts.Custom_test_deploy.build
BuildFile: file: /// C: /Projects/RomanceReminder/BuildScripts.Custom/_test_deploy.build
Framework di destinazione: Microsoft .NET Framework 3.5
Target (i) specificato (i): vai
error_check:
stop_w3svc:
cleanup:
[echo] Eliminazione di C: \ Webs \ Nightly.
Aggiornamento:
[copia] Copia di 93 file in . 'C: \ Webs \ Nightly'
start_w3svc:
go:
BUILD SUCCEEDED
Tempo totale: 2,6 secondi.
Come puoi vedere, sposta 93 file nella cartella web \ nightly.
Quando questo script viene eseguito tramite TeamCity la copia non avviene per qualche motivo. Team City è in esecuzione con un account amministratore, quindi dovrebbe disporre di tutte le autorizzazioni necessarie. Il file di registro per TC mostra il testo esatto sopra tranne che l'attività di aggiornamento non mostra nulla.
Qualcuno ha idee su come posso anche risolvere questo problema?
AGGIORNAMENTO: ho lanciato il bit sull'attività di copia per fornire una registrazione dettagliata. e ora vedo quanto segue nel mio registro di TeamCity:
[copia] Copia di 0 file in 'C: \ Webs \ Nightly'.
Sono ancora confuso dal fatto che posso eseguirlo dalla riga di comando e tutto funziona, ma TC non copia i file ... 8 (
Soluzione
Errore utente Errore utente Errore utente
Certo, non mi fidavo dello strumento supponendo che stesse facendo qualcosa di sbagliato. La directory di destinazione viene popolata solo nel passaggio del pacchetto. Questo particolare script viene eseguito prima di quello. Team City distrugge la directory di build ogni volta che viene eseguita, inclusa la directory di destinazione. Quindi nant era corretto, non c'erano file da copiare. Ho modificato il mio script per utilizzare l'output di compilazione e tutto va bene per il mondo.