1

ビルド定義を作成するとき、いくつかのソース設定をセットアップしました。以下に例を示します。

ここに画像の説明を入力

問題は、誰かがBuildsまたはInstallフォルダーにチェックインしたときにビルドをトリガーしたいのですが、 Includesフォルダーは必要なライブラリやその他のアイテムだけです。これらのライブラリが変更されたときに再実行したくありません。ただし、ビルド ドロップ サーバーに確実にコピーされるように、ここで設定する必要があります。誰かがこのフォルダーにチェックインしたときにビルド トリガーを強制せずに、このIncludeフォルダー全体をコピーする方法はありますか?

4

3 に答える 3

1

***_NO_CI***インクルード ディレクトリへのチェックインで特別なキーワードを使用します。

詳細については、この投稿を参照してください。

于 2015-02-23T16:58:54.253 に答える
1

これに近づくには2つのことがあります。

最初に、ソース フォルダーをビルド中心のレイアウトにする必要があります。これにより、可能な限り重複を排除できます。

ビルドをトリガーしない特定の共有フォルダーが必要な場合は、ソース マッピングに含めないでください。代わりに、ビルドの初期段階でファイルをワークスペースにダウンロードするスクリプトを追加してください。

Visual Studio のバージョンに合わせて例を更新する必要があります。また、ソース ディレクトリをスクリプトに渡す必要があります。

   REM %1 represents the Sources directory
   REM Compute variables
   SET TfExe="%ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe"
   REM SET TfExe="C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\TF.exe"
   Set RefPath="$/TFS BUILDS/Shapes/Main/Includes"
   Set localPath="%~1\Includes"

   REM set the Drive Letter for this build
   Set Localdrive=%localPath:~1,2%
   %Localdrive%
   cd %1

   REM Map the folders 
   %TfExe% workfold /map %RefPath% %localPath%

   REM Get the required content
   %TfExe% get %RefPath%

   REM Unmap the folders 
   %TfExe% workfold /unmap %RefPath%
于 2015-02-23T21:24:37.520 に答える