19

特定のビルド セットを既存の Visual Studio Team Service プロジェクトから新しいプロジェクトに移動しています。残念ながら、あるプロジェクトから別のプロジェクトにビルド定義を移行する方法が見つかりません。インポート/エクスポート機能やその他のメカニズムはないようです。

新しいプロジェクトでビルドを手動で再作成せずにこれらを移動する方法はありますか?

4

6 に答える 6

13

Visual Studio Marketplace には、すぐに使用できるエクスポート/インポート ビルド定義拡張機能があります。

于 2016-09-02T09:09:05.487 に答える
4

次のようなことができます。

$project1Url = "http://tfs:8080/tfs/collection/project1/_apis/build/definitions/$($buildId)?api-version=2.0"
$obj = Invoke-RestMethod -Uri $project1Url -Method Get -ContentType "application/json" -UseDefaultCredentials

$obj.project = $null

#TODO: Update all repository/source control info, too.

$json = ConvertTo-Json $obj -Depth 3

$project2Url = "http://tfs:8080/tfs/collection/project2/_apis/build/definitions/?api-version=2.0"
Invoke-RestMethod -Uri $url -Method Post -Body $json -ContentType "application/json" -UseDefaultCredentials

要点は次のとおりです: ソース プロジェクト (projec1) から既存の定義を取得し、プロジェクトの関連付けをクリアし、必要に応じて新しいリポジトリ情報を設定し、新しい定義をPOST (CREATE) としてターゲット プロジェクト (project2) に送信します。

于 2016-07-20T19:04:45.170 に答える
3

チーム プロジェクト間で vnext ビルド定義テンプレートをコピーまたは同期する方法はありません。ビルド定義テンプレートは、現在のチーム プロジェクト専用です。そのため、チーム プロジェクトごとにビルド定義テンプレートを作成する必要があります。

また、UserVoiceに機能リクエストがありました。投票して監視することができます

VSO ビルド vnext: プロジェクト間でビルド テンプレートを共有 する

ただし、API を使用して実現できます。ここでは、簡単に使用できるツールを紹介します。(同じチーム プロジェクト コレクションにある必要があります。)

于 2016-02-29T03:34:09.203 に答える
2

これを実行するには、REST API を使用できます。ここに例を示します

ビルド定義の JSON 応答を取得し、同じ参照を使用して、必要なプロジェクトで新しい参照を作成する方法を示します。

于 2016-04-22T13:21:50.627 に答える
0

  1. ソースプロジェクトのエクスポートで(...を介して)各ビルド定義

  2. 宛先プロジェクトのビルド定義のフォルダー ビューで、[新規] -> [1 つインポートして調整]: エージェント プール リポジトリ パス (インポートを保存するときに後で確認します)

  3. 正常にインポートされたビルド定義をエクスポートする

  4. 残りの抽出されたビルド定義を編集し、エージェント プール、リポジトリ、およびパスの値を (最初に正常にインポートされたビルド定義の値で) 置き換えます。
  5. 残りのビルドをインポートする 名前を確認する (-import サフィックスを削除する) エージェント プールを確認する インポートされたビルドを保存するときに、宛先プロジェクトのフォルダー ビュー内のパスを確認する
于 2019-02-28T12:38:09.630 に答える