在建置流程中執行指令碼

Team Foundation Build (TFBuild) 預設範本提供大部分小組建置和測試其應用程式所需的核心功能。 即使如此,大部分軟體專案仍相當獨特,需要小組加入自己的商務邏輯。 開發和維護自訂建置流程可能很複雜,而且昂貴。 但是,如果您只是想在系統編譯或測試程式碼之前或之後執行 PowerShell 指令碼或批次 (.bat) 檔案,就不需要這麼做。

例如,在編譯前,您想要設定組件檔案的版本。 或者,在編譯之後,您想要控制置放到預備環境位置的組建輸出。

在建置流程中執行指令碼

預設範本上的指令碼參數

您可以在編譯程式碼前後和執行測試前後,使用預設範本執行 PowerShell 和批次 (.bat) 指令碼。

您必須先上傳建置流程,才能執行該流程:

上傳指令碼之後,請在建置流程參數中的適當位置參考該指令碼。 如果需要,您也可以提供引數給指令碼。

建置前範例:版本設定您的組件

在 MSBuild 編譯您的程式碼之前,雖然您想要執行許多工作,但是其中一個最常見的工作可能是將版本套用至組件。

ApplyVersionToAssemblies.ps1

建置後範例:準備要分段安裝的二進位檔

當您將輸出位置設為 AsConfigured 時,TFBuild 會將放入哪些二進位檔的控制權讓出給您。 在此情況下,TFBuild 會編譯二進位檔,並將二進位檔保留在來源目錄中,組織方式本質上就像在開發電腦本機上使用 Visual Studio 進行編譯一樣。 下列指令碼會從一般位置收集一般二進位類型,並將其複製到 TFBuild 會從中複製再置放到預備環境位置的資料夾。

GatherItemsForDrop.ps1

問與答

問:我沒有權限,所以被系統封鎖了。該如何取得?

答:Team Foundation Server 的權限參考

問:我的指令碼可以使用哪些環境變數?

答: 從 TF_BUILD 環境變數取得資料

問:哪裡可以取得有關開發指令碼的詳細資訊?

答:組織化解答:在您的 Team Foundation Build 流程中執行指令碼

問:我可以執行版本控制命令嗎?

**答:**可以。 這個範例示範如何簽出簽入檔案:

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkout $file

& ($env:VS120COMNTOOLS + "..\..\common7\ide\tf.exe") checkin $file /comment:" Checked in by build process script. ***NO_CI***" /noprompt

問:哪裡可以取得指令碼?

社群 TFS 組建擴充

問:指令碼未提供我足夠的控制權。我該怎麼做?

自訂您的建置流程範本