9

今日、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ユーザーアカウントがサービスを実行していることを要求します。何か案は?

4

3 に答える 3

5

これは暗闇の中での刺し傷です。Tfs2010Buildアカウントで問題のあるビルドマシンのTFSクライアントキャッシュとインターネットキャッシュをクリアしてみてください。この問題はこれまで見たことがありませんが、TFS2010Install認証を使用してキャッシュされた古いTfsProjectCollectionオブジェクトが残っていて、問題が発生した可能性があります。

ビルドマシンの再構成も試みましたか?

構成を解除するには:tfsconfig.exe setup / Uninstall:TeamBuild

ウィザードを使用して再構成します。

于 2011-10-25T01:52:41.057 に答える
1

もう一度試してみます...、ステップバイステップ:-)

  1. 事実:ビルドコントローラーをTFSプロジェクトコレクションに登録し、 TFS2010Buildとしてログインすると、認証ダイアログがポップアップ表示されます。これは、TFSサーバーがTFSサーバー上のデフォルトのコレクションに接続するために使用できるアカウントとしてTFS2010Buildを受け入れないことを意味します。

  2. 事実:ビルドコントローラーをTFSプロジェクトコレクションに登録し、 TFS2010Installとしてログインすると、認証ダイアログがポップアップ表示されません。これは、TFSサーバーTFSサーバー上のデフォルトのコレクションに接続するために使用できるアカウントとしてTFS2010Installを受け入れることを意味します。

  3. どうやら、1と2の両方で、ビルドコントローラーはTFS2010Installアカウントを使用してTFSサーバーに登録されているため、コントローラーまたはサーバーのいずれかがこれらの資格情報を記憶し、ビルドコントローラーの起動時にそれらを使用してTFSサーバーコレクションに接続します。サービス自体がTFS2010Buildアカウントで実行されているという事実。これはもっともらしい状況であり、サービスに対してこのようになりすましが頻繁に発生します。たぶん、TFSの技術者の中には、この動作を確認または拒否できる人もいます。

私に残っている質問:TFSサーバーのデフォルトのコレクションがTFS2010Buildアカウントを有効な管理者として受け入れないのはなぜですか?

考えられる原因:

  1. ジムラムの答えを読んでください。

  2. コントローラをTFSサーバー上のコレクションに接続するために使用されるシステムまたはユーザーのドメイン登録に問題があります。

問題を取り除く最速の方法:問題がないと思われるセカンダリサーバーのインストールを続行し、このセカンダリサーバーからTFS2010Buildを使用して実験し、問題がそこでも発生するかどうかを確認します。

長い間、しかしうまくいけば、それはあなたに正しい方向への大きな前進を与えるでしょう。

于 2011-10-25T19:38:54.143 に答える
0

これを機能させるのに問題があるとのことで、ごめんなさい。確認/試すことができるいくつかのことを次に示します。

  • TFS2010Buildユーザーアカウントが、関連付けたTFSプロジェクトコレクションの「BuildServices」グループのメンバーであることを確認してください。

  • 関連するプロジェクトコレクションのProjectCollectionAdministratorsグループのメンバーであり、ビルドマシンのローカルAdministratorsグループのメンバーでもあるユーザーとしてログインしているときに、ビルドサービスをインストールして構成する場合、必要なすべてのアクセス許可と通常、他の構成が設定されます。

したがって、要約すると、ビルドマシンを構成するユーザーは、プロジェクトコレクション管理者グループのメンバーおよびローカル管理者グループのメンバーである必要があります。また、ビルドマシンが実行されているユーザーアカウントは、プロジェクトコレクションの「ビルドサービス」グループのメンバーである必要があります。

于 2011-10-24T17:47:21.807 に答える