3

これをここに投稿するかどうか迷っていましたが、TFS に関する他の同様の投稿をここで見ましたが、問題が解決しなかったため、先に投稿することにしました。

元同僚がセットアップした TFS ボックスを修正しようとしています。日付までファイルをチェックイン/チェックアウトする以外の目的で TFS を使用したことはありません。 TFS にチェックインしようとしています。ゲート チェックインを有効にしており、下の赤いボックスで強調表示されているように、ユーザーがビルド検証をバイパスすることも許可していません。

ゲート チェックイン ダイアログ

問題は、すべてのゲート チェックイン試行がエラーで失敗することです。

Access Denied: User 'myOrgDomain\user.name' needs Override check-in 
validation by build permission for the following build definition(s). DefnName

部分的に成功したというメッセージ プロンプトが表示される ゲート チェックインの部分的な成功

ビルドを開くと、これが表示されます TFS ビルド出力

これをオンラインで確認したところ、グレー表示されているチェックボックスを有効にして、ユーザーが検証をバイパスできるようにすることが解決策であることがわかりました。私はこれが事実であってほしくありません。バイパス検証を無効にしたまま、ゲート チェックインを機能させる方法はありますか?

これは私を完全に困惑させ、何が間違っていたのか理解できません。何が問題なのかを調べるためにログのどこを参照すればよいかについての指針もおそらく役立つでしょう。ログには、警告やエラーなしでビルドが成功したことが示されています。

4

3 に答える 3

1

[TestProject]Builders、[TestProject]Administrators & [TestProject]Contributors、[Deny] にチェックを入れました。[TestProject]Readers は空白にしました。

拒否は許可を無効にし、ほとんどすべてのユーザーが Readers または Contributors グループのメンバーであるため、問題が発生します。ユーザーは、権限が明示的に付与されている場合にのみチェックイン検証をバイパスできるため、拒否ルールを設定する必要はありません。

あなたの問題を解決するには:

  • これらのグループから拒否チェックを削除します。
  • 「チェックイン検証のオーバーライド」を設定して、アカウントがゲート チェックイン ビルドをバイパスできるようにします。

ドキュメントから

Team Foundation Server のアクセス許可に対して、2 つの明示的な承認設定 (拒否と許可) を指定できます。パーミッションを Allow にも Deny にも設定しない暗黙の承認もあります。この許可は、設定解除と呼ばれる暗黙の拒否設定です。

于 2012-06-07T12:47:31.183 に答える
0

TFS ビルド セキュリティ ダイアログ

あなたが言及したのと同じ問題に遭遇しました。設定するセキュリティ設定は、TFS ボックス上のものではなく、ビルド自体に対するものです。私にとってうまくいったのは、Visual Studio でビルドを右クリックし、[セキュリティ...] オプションを選択することです。次に、ビルド サービス アカウントが「ビルド時にチェックイン検証をオーバーライドする」権限にアクセスできることを確認しました。TFS ユーザーがチェックインのオーバーライドを許可されているわけではありません。このメッセージは、Build Service ユーザーがチェックインをオーバーライドする機能を持っているかどうかに関するものです。これが機能するには、 Project Collection Build Service Accountsグループのメンバーである必要があります。

これにより、(ビルドが失敗した場合でも) TFS がオーバーライドされ、毎回チェックインされるのではないかと考えたので、意図的にビルドを壊し、このアクセス許可セットで試してみました。チェックインを続行できませんでした (つまり、適切に失敗しました)。

私の場合、複数のビルドがあります。私が取り組んでいたソリューションだけで「ビルド時にチェックイン検証をオーバーライドする」ことを許可するだけでは不十分でした。何らかの理由で、他のすべてのビルドでも同じことをしなければなりませんでした。なぜそうなのかについてのドキュメントを見つけることができませんでした。

于 2012-06-11T15:00:17.803 に答える
0

セットアップで何か怪しいことが起こっています。スクリーンショットに表示されているフラグへのアクセスは、ビルド権限「ビルドによるチェックイン検証のオーバーライド」によって制御されます。許可として設定されていませんが、明らかにオプションとして設定されているため、デッドロック状態になっています。

このフラグを一時的に有効にしようとします ([ビルド] でチーム エクスプローラーを右クリックし、[セキュリティ] を選択してユーザーのアクセス許可を設定します)、チェックボックスが有効になり、チェックされていることを期待します。チェックボックスを手動でオフにして、ビルドを実行します。次に、許可を無効にします。
うまくいけば、VSはこのオプションを保持します。

これが失敗した場合は、MS にバグを報告します。

于 2012-06-07T10:10:16.927 に答える