今日、TFS2010ビルドサーバーで非常に奇妙な問題が発生しました。明らかな理由もなく、突然ビルドサービスが失敗しました。私たちは一日中それを撮影するのに苦労していますが、それでも理由を見つけていません。
問題の1つは、ビルドサービスがtfs2010buildというADユーザーの下で実行されている(または実行されるべきである)ことです。しかし、サービスを開始しようとすると、次のエラーが発生します
Service cannot be started. Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access http://tfs2010:8080/tfs/default. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
TFS2010サーバーのイベントログを見ると、失敗した認証が、すべてのインストールに使用されたTFS2010Installというユーザーに登録されていることがわかります。トリプルチェックを行い、サービスがTFS2010Buildで実行されるように指定されています。
TFS2010サーバーからのログ:
Account For Which Logon Failed:
Security ID: NULL SID
Account Name: TFS2010INSTALL
Account Domain: LC
だから私の質問は、これがどのように可能かということです。ユーザーTFS2010Buildは、TFS2010Installによってどのように偽装されますか?追加のビルドサーバーをインストールしようとしましたが、ここではユーザーTFS2010Buildでサービスを開始しても問題はありません。したがって、ADまたはTFSのユーザー権限に問題はありません。
あなたたちが助けることができることを願っています!
/碧玉
!! いくつかのスクリーンショットで更新されました。ビルドサーバーはTFS2010BIULDであり、TFSサーバーはTFS2010です。
動作していないビルドサーバーTFS2010Buildのスクリーンショット
動作中のビルドサーバーTFS2010Build1のスクリーンショット
!!新しいアップデート
TFS2010Buildユーザーアカウント(問題が発生したときの実際の初期状態)でBuildサービスを実行することができました。このコントローラーとエージェントにビルドをキューに入れると、ビルドログに次のように表示されます。
TF215097:ビルド定義\ PlanteIT_MarkOnline_Scrum \ CI_Main_FieldOnlineClientのビルドの初期化中にエラーが発生しました:TF215106:アクセスが拒否されました。LC \ TFS2010INSTALLは、アクションを実行するために、チームプロジェクトPlanteIT_MarkOnline_Scrumのビルド定義CI_Main_FieldOnlineClientのビルド情報の更新権限が必要です。詳細については、TeamFoundationServer管理者にお問い合わせください。
ビルドサービスにTFS2010Buildが使用されているにもかかわらず、TFS2010Installユーザーアカウントがサービスを実行していることを要求します。何か案は?