自 Team Foundation Server 2015 中引入了基於集成式 Web 的 Release Management 以來,咱們在此版本中進行了幾處功能加強。git
咱們結合了發佈中心內克隆、導出和導入發佈定義的功能,無需安裝擴展。github
有關詳細信息,請參閱克隆、導出和導入發佈定義web
在「發佈摘要」頁中,咱們爲外部服務啓用了貢獻點以顯示特定於環境的信息。sql
在 Team Services 中,此功能用於顯示測試做爲發佈環境的一部分運行時的測試結果摘要。數據庫
有關詳細信息,請參閱瞭解發佈的摘要視圖api
若是須要運行在 Team Services 上調用 REST API 的自定義 PowerShell 腳本以建立工做項或查詢生成的信息,則須要在腳本中傳遞 OAuth 令牌。app
配置環境時的新選項容許腳本在環境中做爲任務運行以訪問當前 OAuth 令牌。工具
有關詳細信息,請參閱環境的常規選項測試
這是一個顯示如何獲取生成定義的簡單示例:ui
生成和發佈任務在「控制選項」參數中對每一個任務均有「出錯時繼續」的選項。
在生成定義中,這會致使「生成已部分紅功」結果(若設置此選項的任務應失敗)。
如今,發佈定義中提供同一行爲。 若是任務失敗,則整個發佈結果將顯示爲「發佈已部分紅功」。
默認狀況下,部分紅功的發佈將不會自動觸發發佈到後續環境,即便在環境部署選項中指定了此行爲也不會觸發。
可是,能夠在每一個發佈環境中設置新選項(當上一發布已部分紅功時,指示 Release Management 觸發發佈到後續環境)。
有關詳細信息,請參閱環境部署觸發器
有時你可能想要直接使用存儲在版本控制系統中的項目,而無需經過生成過程傳遞它們,如本主題所述。
若是你的代碼存儲在 GitHub 存儲庫中,那麼你如今能夠執行同一操做。
有關詳細信息,請參閱 TFVC、Git 和 GitHub 源
有新版本的 Azure Web 應用部署任務,稱爲 AzureRM Web 應用部署。
它使用 MSDeploy 和 Azure Resource Manager 服務終結點鏈接。 除了基於 ASP.NET 四、Node 和 Python 的 Web 應用以外,使用此任務還能夠部署 Azure Web 做業和 Azure API 應用。
此任務還支持常見發佈選項,例如保留應用數據、使應用脫機和刪除目標處的其餘文件等功能。
更多功能(如配置轉換)可能會在即將推出的版本中出現。
任務組可以讓你將已在生成或發佈定義中定義的一系列任務封裝到可添加到生成或發佈定義的單個可重用任務中,如同任何其餘任務同樣。
可選擇從封裝任務提取參數做爲配置變量,並提取任務信息的剩餘部分。
新任務組將自動添加到任務目錄,並準備好添加到其餘發佈和生成定義中。
有關詳細信息,請參閱任務組
刪除發佈或保留策略自動將其刪除時,該發佈會從概述和詳細信息列表中刪除。
可是,在它被永久刪除以前將會在發佈定義中保留一段時間(一般爲 14 天)。
在此期間,該發佈將顯示在概述和詳細信息列表的「已刪除」選項卡上。
可經過打開快捷鍵菜單並選擇「撤消刪除」來還原這些發佈。
有關詳細信息,請參閱還原刪除的發佈
發佈定義的發佈保留策略肯定連接到它的發佈和生成的保留時間。
默認狀況下,發佈將保留 60 天 - 將自動刪除在此期間還沒有部署或修改的發佈。
可是,你可能想要保留更多已部署到特定環境的發佈(如你的生產環境),或讓其保留的時間長於剛部署到其餘環境中的發佈(如測試、暫存和 QA)。
若是須要從新部署該發佈,還可將連接到發佈的生成保留與發佈一樣的時間,以確保項目可用。
有關詳細信息,請參閱發佈和生成保留
兩個新功能使得可以更輕鬆地處理項目和項目源:
可將多個項目源連接到一個發佈定義。 每一個項目都將下載到名爲源別名的代理上的文件夾中。 如今能夠編輯連接項目的源別名。 例如,更改生成定義的名稱時,可編輯源別名來反映生成定義的名稱。
有關詳細信息,請參閱項目源別名
公開了許多 Build.* 格式(如 Build.BuildId 和 Build.BuildNumber)的變量以用於任務參數。 當多個源與一個發佈相關聯時,如今將使用你指定爲主源的項目源中的值來填充這些變量。 有關詳細信息,請參閱項目變量。
如今,能夠在部署到環境的過程當中暫停執行。
在環境中包括手動干預任務讓你可以暫時中止部署、執行手動步驟,而後繼續進一步的自動步驟。
手動干預後,還可拒絕部署和阻止進一步執行步驟。
有關詳細信息,請參閱手動干預
加強了Azure SQL 數據庫部署任務以針對 Azure SQL 數據庫運行 SQL 腳本。 這些腳本可做爲文件或任務中的內聯提供。
將發佈定義固定到儀表板 - 製做對你的全部團隊可見的發佈摘要的一個簡易方法。
有關詳細信息,請參閱 將發佈信息添加到儀表板
但願你的所有生產部署在午夜進行? 你能夠對從其餘環境選擇了成功部署(或僅最新部署)的環境配置一個條件,並在特定時間對其部署。
直到上一版本前,你能夠進行並行部署(_分叉_部署),可是不能根據多個環境的狀態開始部署到環境(_聯接_部署)。 你如今能夠實現此操做。
有關詳細信息,請參閱 並行分叉和聯接部署
你可使用 Release Management 的 REST API 服務來建立發佈定義和發佈,並管理部署發佈的多個方面。
有關詳細信息,請參閱 API 參考文檔。 你將在本博客文章使用 ReleaseManagement REST API 中找到使用 API 的一些基本示例。
在建立新發布、啓動或完成部署或審批處於掛起或完成狀態時發送發佈通知。 與第三方工具(如 Slack)集成以接收此類通知。
在 Azure 經典服務終結點使用新的環境設置,將特定 Azure 雲設爲目標,包括預約義的國內雲(如 Azure China 雲、Azure US Government 雲和 Azure German 雲)。