1

TFS ビルド サーバーの 1 つで奇妙なことが起こりました

これはシナリオです:

1 つのコントローラーと 2 つのビルド サーバーがあり、それぞれに 2 つのエージェントがあります。

  • ビルド サーバー 01 で強制的に実行するビルドをキューに入れると、ビルドは成功します。

  • ビルド サーバー 02 で同じビルドをキューに入れると、ビルドが失敗します

エラーは次のとおりです。

不明な型 '{clr-namespace:MyNamespace;assembly=MyAssembly}MyClassName' を作成できません。

これはカスタム MSBuild アセンブリであり、.Net Framework 4.5 を対象としています。これは TFS コントロール バージョンでチェックインされ、コントローラーは TFS の正しいパスを指しています。

DLL が 6 か月間更新されていない

なぜこれが起こっているのかわかりません。さらに困惑させられたのは、このビルド サーバーが昨日正常に動作していたという事実です。チームの誰もがサーバーに対して何らかの操作を行っており、アクセスすることさえできていません。

ビルドワークフローを実行する前にエラーが発生していると思います。これは、何らかの理由でビルドテンプレートをロードできないことを意味します。これは、タイプを解決できないため意味があります

私がこれまでに行ったこと:

  • 昨日の朝、ビルド サーバー 02 はスムーズに動作していました

  • 両方のビルドサーバーで同じビルドを使用していると確信しています。これにより、ビルドテンプレートに問題はないと思います

  • ビルド サーバー 02 でビルドが失敗し、同じエラーが発生したと確信しています。

  • 私がテストしたすべてのビルドは問題なく 01 で実行されました

  • 両方のビルド サーバーが有効であり、ネットワーク上で利用可能であり、アクセス可能です。

  • 両方のビルド サーバーは、ビルドの実行に使用されるドメイン アカウントで構成されています。

  • 両方のサーバーが作業フォルダーにアクセスでき、TFS ユーザーはそれらのサーバーにアクセスできます。

  • ドメイン アカウントは、両方のビルド サーバーの Administrators グループに属しています。

  • 再確認したところ、これらのアセンブリは両方のビルド サーバーの GAC にありません (GAC に配置したくありません。また、ビルド サーバー 01 は、DLL を GAC に配置しなくても正しく動作しています)。

  • Windows Update の履歴を比較したところ、両方のサーバーが 3 か月前のように同じ日付に更新されていました

これは私が見つけたものです

ビルド サーバー 01で、ビルドに使用されたカスタム ビルド DLL が正しい場所にあることがわかりました。

C:\Users\MyTFSServiceAccount\AppData\Local\Temp\BuildAgent\24\Assemblies

C:\Users\MyTFSServiceAccount\AppData\Local\Temp\BuildAgent\25\Assemblies

以前のパスには、必要なすべてのアセンブリがありました

私のビルド サーバー 02では、フォルダーには 1 つの DLL しか含まれていませんでした。何らかの理由で DLL がコピーされていません。フォルダーのアクセス許可を確認したところ、すべて問題ないように見えました。tfsservice アカウントにはフォルダーへのアクセス許可があり、ボックスの管理者です。

これらは私のビルドサーバー02のパスです

C:\Users\MyTFSServiceAccount\AppData\Local\Temp\BuildAgent\22\Assemblies

C:\Users\MyTFSServiceAccount\AppData\Local\Temp\BuildAgent\23\Assemblies

ええと、DLL を手動でコピーすると一時的に問題が解決すると思いました....私は間違っていました =( DLL をコピーしましたが、同じエラーが表示されます

皆さん、私を正しい方向に向けていただけますか?

4

1 に答える 1

0

ジャジャ

これが私が TFS を嫌う理由であり、ソフトウェア エンジニアであることが好きな理由です。

この問題にほぼ一日を費やし、頭に浮かんだことをすべて検証した後、最終的には、最も単純なアプローチが常に機能するようです...

TFSサービスを再起動したところ、魔法のようにすべてが再び機能し始めました....

于 2013-01-18T20:16:54.293 に答える