9

チーム、

今日のTFS2012でのイライラは、ビルドをキューに入れていて、ビルドサーバーが指定されたフォルダーにコピー/ドロップできません。Win Server2008R2にTFS2012をインストールしました。基本的に、エラーは、宛先フォルダーへのアクセスが拒否されたため、コピーできないことを示しています。TFS管理コンソールには、ビルドサービスがLocalServiceとして実行されていることが表示されます。そして、ドロップフォルダのローカルサービスアカウントにフルコントロールを付与しました。フォルダのプロパティで[共有]タブをいじってみました。そのようなネットワークはありません。すべてのTFSサービスが実行されている単一のマシンのみです。ドロップフォルダをCドライブ自体に配置しようとしても成功しませんでした。誰かが光を投げてくれませんか?私は何が欠けていますか?些細なことのようです。

例外の詳細は次のとおりです。

例外メッセージ:TF270016:'C:\ Builds \ 1 \ Tfs_TeamProjectTrail \ Tfs_Trial1_CI \ Sources \ Main \ Tfs_Trial1\Tfs_Trial1.log'から'\localhost \ d $ \ VD \ Tfs_Trial1_CI \Tfs_Trial1_CI_20130309.21\へのログファイルの公開中にエラーが発生しましたログ」。詳細:パス'\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21\logs'へのアクセスが拒否されました。(タイプPublishLogFileException)例外スタックトレース:System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItemのSystem.Activities.CodeActivity.InternalExecute(ActivityInstanceインスタンス、ActivityExecutor executor、BookmarkManagerブックマークマネージャー)のSystem.Activities.Statements.Throw.Execute(CodeActivityContextコンテキスト) .ExecuteBody(ActivityExecutor executor、BookmarkManagerブックマークマネージャー、ロケーションresultLocation)

内部例外の詳細:

例外メッセージ:パス'\ localhost \ d $ \ VD \ Tfs_Trial1_CI \ Tfs_Trial1_CI_20130309.21\logs'へのアクセスが拒否されました。(タイプUnauthorizedAccessException)例外スタックトレース:System.IO .__ Error.WinIOError(Int32 errorCode、String mayFullPath)at System.IO.Directory.InternalCreateDirectory(String fullPath、String path、Object dirSecurityObj、Boolean checkHost)at System.IO.Directory .InternalCreateDirectoryHelper(String path、Boolean checkHost)at Microsoft.TeamFoundation.Common.FileSpec.CopyFile(String oldPath、String newPath、BooleanoverwriteExisting)at Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory、String targetDirectory) Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(String sourceDirectory、String targetDirectory、

4

4 に答える 4

11

これは単なる権限の問題です。

  • ローカルユーザー/ドメインユーザー(該当する場合)としてビルドサービスを実行することから始めて、それを機能させます。
  • デフォルトの管理共有(d $)を使用するのではなく、適切な共有を作成する
  • フォルダプロパティの[共有]タブと[セキュリティ]タブの両方で、そのユーザーへの書き込み権限が許可されていることを確認してください。
  • エラーログには「\localhost」と表示されます。これにアクセスする正しい方法は「\\localhost」です(これはスタックオーバーフローエディタの問題である可能性がありますが、関連性はありません)

現在、完全な回答を書く時間はありませんが、後で拡張することができます。

ProcMonは、この種の問題をトラブルシューティングするときに使用する優れたプログラムでもあります。

これは良い出発点だと思います。

于 2013-03-09T14:13:47.667 に答える
3

ドロップディレクトリとビルドサービスに「ローカルサービス」グループの完全な権限があることを確認してください。

于 2013-08-27T08:12:08.677 に答える
2

tfsビルドサービスが実行されるデフォルトのアカウントはですnt authority\network service。solution \ projectをコンパイルした後、ビットをビルド共有にコピーしようとするのはこのユーザーです。

したがって、ビルド共有のこのアカウントにアクセス許可を追加します。

于 2014-09-02T10:38:15.133 に答える
0

[TFS2013]フォルダのドロップオプションをオフにしてパスを削除すると、このエラーが発生しました。ビルド構成の出力ファイルにドロップフォルダー(UNC)を再度指定することで、問題が解決しました。

ドロップフォルダがまったくない場合、TFSは、ドロップフォルダを持たないオプションがありますが、ひねくれているようです。

于 2016-05-17T17:51:10.057 に答える