簡體   English   中英

將TFS構建與發布管理集成

[英]Integrate a TFS Build with Release Management

如何創建自動運行Microsoft Visual Studio 2013發布管理版本(部署)的TFS Build?

要從TFS Build中啟動發布,您需要更改Build Definition。 幸運的是,當您安裝版本管理時,它會為您創建一個構建模板以供示例使用。 在可能的情況下,這足以讓你前進。

發布管理構建過程模板

版本管理構建過程模板默認情況下未安裝在TFS中,因此在添加之前它不會顯示為可用的構建過程模板。

在服務器安裝中找到模板:C:\\ Program Files(x86)\\ Microsoft Visual Studio 12.0 \\ ReleaseManagement \\ bin \\

TFS 2010 : ReleaseDefaultTemplate.xaml
TFS 2012 : ReleaseDefaultTemplate.11.1.xaml
TFS 2013 : ReleaseTfvcTemplate.12.xaml (or ReleaseGitTemplate.12.xaml if using GIT)

要添加發布管理構建過程模板,您需要將其簽入項目中BuildProcessTemplate文件夾中的TFS源代碼控制。 然后在編輯(或添加)構建定義時添加構建過程文件。 將發布管理模板添加到構建模板列表后,即可開始使用它。

請確保您使用Release Management Server中的上述模板,而不是我最初使用的客戶端目錄。 如果是這樣,您將在構建過程中遇到相當奇怪的錯誤,例如:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (3883): Web deployment task failed. (Unknown ProviderOption:DefiningProjectFullPath. Known ProviderOptions are:skipInvalid.)

包裹提取\\包裹的路徑。

在設置組件時,發布管理需要知道在哪里獲取安裝文件以對其執行某些操作。 當您創建發布模板時,它應該通過選擇將啟動它的構建定義連接到特定構建(也可以勾選“可以從構建中觸發發布嗎?”)。 在添加要作為發行版的一部分安裝的組件時,請指定其源。 應選擇“使用應用程序構建”。 得到我的一點是Build Drop位置旁邊的一個大空框,這是一個必填字段。 我最初的反應是用我試圖部署的msi文件的名稱填充它。 那有道理嗎? 錯誤。 如果我從Visual Studio排隊構建,我會收到以下消息。

Package location '\\blah\blah\Build Name\Build Name_20140707.3\A.Product.To.Install.msi' does not exists or Deployer user does not have access.

該文件確實存在於該位置,部署代理使用的用戶確實可以訪問drop目錄。 我還確認它能夠使用ProcMon訪問它。 睡覺后,我決定將鼠標懸停在輸入框上,彈出一個漂亮的工具提示:

綁定到發布模板的組件需要相對於構建放置位置的包路徑。 如果包直接位於構建放置位置的根目錄,則需要輸入“\\”字符。

因此,在我的eureka時刻之后,我刪除了msi文件名並將其替換為“\\”並將下一個版本排隊。 有效。 回想起來,我認為他們應該刪除對輸入內容的強制性要求,以取代輸入“\\”的需要。 它有點隱藏而且不直觀。

如何獲得包裹

有關詳細信息,請參閱MSDN文章

對於修改的構建過程模板

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM