0

「Azure DevOps Server」2019 Update1 で TVFC を実行しています。

vnext ビルドの最後に、ワークスペースを削除します。これは tf.exe を使用して行います。ただし、ビルドを実行するアカウント (つまり、ビルド エージェントでビルド サービス用に構成されているアカウント) は、ワークスペースの作成に使用されるアカウントとは異なるため、ワークスペースの所有者を指定する必要があります。

ワークスペースの所有者は「プロジェクト コレクション ビルド サービス (DefaultCollection)」です。したがって、ワークスペースを削除するコマンドとして、次のように使用します。

tf.exe workspace /delete /noprompt /collection:http://tfs.siplaceworld.net:8080/tfs/DefaultCollection/ ws_1749_167;Project Collection Build Service (DefaultCollection)

これはほとんどの場合機能します。散発的に次のようなエラー メッセージが表示されます。

TF14061: The workspace ws_1749_167;Project Collection Build Service (DefaultCollection) does not exist.

しかし、ビルド コンピューターを見ると、ワークスペースは存在します。したがって、デバッグ用に、「tf.exe ワークスペース」への呼び出しを追加して、削除する前にすべてのワークスペースのリストを取得しました。

エラーの場合、ワークスペースの所有者が英語ではなくドイツ語であることがわかります。

tf.exe workspaces /collection:http://tfs.siplaceworld.net:8080/tfs/DefaultCollection/
Collection: http://tfs.siplaceworld.net:8080/tfs/DefaultCollection
Workspace   Owner                                               Computer  Comment
----------- --------------------------------------------------- --------- -------
MCHC16074   ASM AS SW-Dev Build                                 MCHC16074 
ws_1678_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1693_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1695_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1700_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1719_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1744_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1747_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_1749_167 Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_461_169  Builddienst für Projektsammlung (DefaultCollection) MCHC16074 
ws_470_169  Builddienst für Projektsammlung (DefaultCollection) MCHC16074

これは散発的であり、それが何に依存しているかはわかりません。ワークスペースの所有者がドイツ語でリストされたり、英語でリストされたりするのはどうしてですか?

どんな助けでも大歓迎です!

4

2 に答える 2

1

「プロジェクト コレクション ビルド サービス (DefaultCollection)」は、ワークスペースを作成するアカウントの表示名のみです。これが英語であったりドイツ語であったりする理由はわかりませんが、表示名の代わりに「実際の」ユーザー名を使用できます。

「ソース管理エクスプローラー」のセキュリティ ウィンドウで、このアカウントのユーザー名を見つけました。「Windows ユーザーまたはグループを追加する」を選択し、「ビルド」を検索したところ、次のように表示されました。

表示名: プロジェクト コレクション ビルド サービス (DefaultCollection)

ユーザー名: Build\beb2741f-e779-4a6f-a20e-033796fec5b7

そのため、ワークスペースを削除するときにユーザー名を使用するようにビルド エージェントをクリーンアップするタスクを変更しました。

tf.exe workspace /delete /noprompt /collection:http://tfs.siplaceworld.net:8080/tfs/DefaultCollection/ ws_1749_167;Build\beb2741f-e779-4a6f-a20e-033796fec5b7

よく働く :)

Visual Studio ソース管理エクスプローラーを参照してください。

于 2020-08-04T05:13:55.647 に答える
1

既存のワークスペースを削除するには、所有者であるか、グローバルなワークスペースの管理権限を許可に設定している必要があります。

名前の代わりに、onwer uniq ID を使用することもできます。所有者の一意の ID を取得します。

tf vc workspaces ws_1749_167 /computer:* /format:xml /collection:https://dev.azure.com/xxx/

この後、所有者の uniq ID の情報を返します。次に、所有者の一意の ID を持つワークスペースを削除します。

tf workspace /delete ws_1749_167;{owner uniq ID}

詳しくはこちらのチケットをご覧ください。

于 2020-08-04T06:18:41.113 に答える