2013-03-09 6 views
9

squadra,TF270016: è verificato un errore file di registro di pubblicazione da

La sua frustrante finora oggi con TFS 2012, sono stato in coda una build e il server di generazione è in grado di copiare/drop nella cartella specificata. Ho installato TFS 2012 su Win Server 2008 R2. Fondamentalmente l'errore dice che l'accesso alla cartella di destinazione è negato e quindi non è in grado di copiare. La console di amministrazione TFS mostra che il servizio di compilazione è in esecuzione come LocalService. E ho concesso il pieno controllo all'account del servizio locale nella cartella di rilascio. Ho provato persino a giocare con la scheda Condividi nelle proprietà della cartella. Non esiste una rete in quanto tale in alcun modo, solo una singola macchina con tutti i servizi TFS in esecuzione su di essa. Ho anche provato a mettere la cartella drop su C drive stesso senza successo. Qualcuno può far luce? Cosa mi manca? Sembra essere una cosa banale.

Quanto segue è il dettaglio dell'eccezione.

Messaggio eccezione: TF270016: è verificato un errore file di registro di pubblicazione da 'C: \ Builds \ 1 \ Tfs_TeamProjectTrail \ Tfs_Trial1_CI \ Sources \ Main \ Tfs_Trial1 \ Tfs_Trial1.log' a '\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21 \ logs'. Dettagli: l'accesso al percorso '\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21 \ logs' è negato. (Tipo PublishLogFileException) Eccezione dello stack: a System.Activities.Statements.Throw.Execute (contesto CodeActivityContext) a System.Activities.CodeActivity.InternalExecute (esempio activityInstance, ActivityExecutor esecutore, BookmarkManager BookmarkManager) a System.Activities.Runtime. ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody (ActivityExecutor esecutore, BookmarkManager BookmarkManager, Location resultLocation)

interni Dettagli eccezione:

Messaggio eccezione: Accesso al percorso '\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21 \ logs ' è negato. (digitare UnauthorizedAccessException) Traccia stack di eccezione: su System.IO .__ Error.WinIOError (Int32 errorCode, String maybeFullPath) su System.IO.Directory.InternalCreateDirectory (String fullPath, String path, Object dirSecurityObj, Boolean checkHost) su System. IO.Directory.InternalCreateDirectoryHelper (String path, Boolean checkHost) in Microsoft.TeamFoundation.Common.FileSpec.CopyFile (String oldPath, String newPath, Overwrite booleano esistente) in Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory (String sourceDirectory, String targetDirectory) in Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory (String sourceDirectory, String targetDirectory, String [] renameIfExists) in Microsoft.TeamFoundation.Build. Workflow.Activities.PublishLogFile.Execute (contesto CodeActivityContext)

risposta

11

Questo è solo un problema di autorizzazioni.

  • Iniziare eseguendo il servizio di compilazione come utente locale/utente di dominio (se applicabile) e farlo funzionare.
  • Creare una condivisione corretta anziché utilizzare le condivisioni di amministratore predefinite (d $)
  • Assicurarsi che sia la scheda di condivisione che quella di sicurezza sulle proprietà della cartella consentano le autorizzazioni di scrittura per quell'utente.
  • Il log di errore dice "\ localhost" il modo corretto per accedere a questa sarebbe "\\ localhost" (questo potrebbe me un problema di editor di StackOverflow e anche se non rilevante)

Io attualmente non ho tempo scrivere una risposta completa, ma posso espandere in seguito.

ProcMon è anche un ottimo programma da utilizzare per la risoluzione di questo tipo di problemi.

Penso che questo sia un buon punto di partenza.

+1

Grazie ha funzionato. È in realtà molto semplice. In breve, fai clic con il pulsante destro su qualsiasi cartella, quindi vai alla scheda Condividi, Avanzate e condividi la casella di controllo. Quello che mi mancava è il percorso. Dovrebbe essere \\ NomeServerServer \ YourShareFoldreName. Ma quello che stavo facendo era invece \\ \\ NomeServer \ d $ \ YourShareFoldreName. Il d $ è stato l'errore che stavo facendo nel tentativo di fornire il percorso completo. – VivekDev

3

Accertarsi semplicemente che la directory di destinazione e il servizio di creazione dispongano di privilegi completi per il gruppo "Servizio locale".

2

Account predefinito con cui viene eseguito il servizio di build tfsnt authority\network service. Dopo aver compilato solution \ project, è questo utente che tenta di copiare i bit nella share share.

Quindi aggiungere le autorizzazioni a questo account sulla condivisione di build.

0

[TFS2013] Ho riscontrato questo errore quando ho disattivato l'opzione di cartella di rilascio e rimosso il percorso. Specificando nuovamente una cartella di rilascio (UNC) per i file di output nella configurazione di build, è stato risolto il problema.

Sembra che TFS sia nervoso se non si dispone di una cartella di rilascio, anche se ti dà la possibilità di non averne uno.