開發人員社群 | 系統需求與相容性 | 授權條款 | TFS DevOps 部落格 | SHA-1 雜湊 | 最新 Visual Studio 2019 版本資訊
注意
這不是最新版本的 Team Foundation Server。 若要下載最新版本,請瀏覽 Team Foundation Server 2018 Update 3 的最新版本資訊。 若要變更此頁面的語言,請按一下頁尾的地球圖示,然後選取您想要的語言。
本文提供 Team Foundation Server 2017 Update 2 的相關資訊。 按一下這個按鈕進行下載。
若要深入了解 Team Foundation Server 2017,請參閱 Team Foundation Server 的需求與相容性 (英文) 頁面。
如需詳細資訊,請參閱 TFS 安裝頁面。
發行日期:2017 年 7 月 24 日
Team Foundation Server 2017 Update 2 的新功能摘要
我們為 Team Foundation Server 2017 Update 2 新增了許多值。 一些重點包括:
- 工作項目現在有與每個工作項目類型建立關聯的圖示。
- 我們已經引進了傳遞計劃。
- 您可以使用工作項目搜尋來搜尋工作項目。
- 新的分支原則設定體驗。
- 已有許多提取要求改進。
- 現在有 Git 圖表可視覺化您的 Git 歷程記錄。
- 您現在可以新增並檢視 Git 標記。
- 我們有一個新的套件管理體驗。
- 新的組建定義編輯器體驗。
- 部署到 Azure Web Apps 時的各種更新。
- 部署容器時的許多改進。
- 引進了條件式建置工作。
- 現在有立即可用的通知。
您可以透過依功能範圍查看改進,來看到所有新功能的詳細資料。
TFS 2017 Update 2 的新功能詳細資料
工作項目追蹤改進
工作項目類型圖示
我們做出了全球承諾,確保客戶能夠完全無障礙地存取產品。 在做出該承諾的過程中,我們努力找出並解決許多協助工具問題,從鍵盤模式到視覺化設計和配置。
工作項目追蹤在許多體驗中向來是單憑色彩來傳達工作項目類型。 不過,這對色盲或弱視使用者會造成問題,這些人可能由於色彩相似而無法區分項目。 為了讓所有客戶能夠更加區分工作項目類型,我們引進了以視覺表達工作項目類型的圖示。 您可以從我們精選的圖示庫中選擇,以自訂您的工作項目類型。
用於傳達待處理項目和查詢方格上類型的色軸,已取代為彩色圖示 (圖 1)。
面板上的卡片現在包含類型圖示 (圖 2)。
交付計劃
傳遞計畫是一種組織工具,幫助您藉由追蹤基於迭代的行事曆上的工作狀態,提升小組間的透明度和協作一致性。 您可以調整計劃,包含帳戶中各專案中的任何小組或待辦事項層級。 此外,計劃上的欄位準則讓您進一步自訂檢視,而標記可標記重要日期。
請參閱 Marketplace 頁面的傳遞計劃,深入了解延伸模組並加以安裝。
如果使用者具有與網際網路中斷連線的 TFS 執行個體,則直接透過 Web 存取的 [管理延伸模組] 選項即可使用傳遞計劃,而不需要巡覽至 VSTS Marketplace。 從 [管理延伸模組] 中,按一下 [瀏覽本機的延伸模組],並選取 [傳遞計劃],然後按一下 [安裝]。 如需詳細資訊,請參閱預先安裝的延伸模組的文件。
從工作項目自動連結到構建
透過組建定義中的這項新設定,您可以追蹤併入工作的組建,而不需要手動搜尋大型組建集。 與工作項目建立關聯的所有成功組建,都會自動出現在工作項目表單的開發區段。
若要啟用這項功能,請切換您組建定義中 [選項] 下的設定 (圖 3)。
不再建議使用舊的工作項目表單
新工作項目表單的整體意見反應一直很正面,我們的託管帳戶現在具備 100% 的採用率。 我們希望內部部署客戶享有 VSTS 使用者樂見的相同價值,因此決定取代舊的工作項目表單和舊的擴充性模型。 若要深入了解我們的計劃,請參閱 Microsoft 應用程式生命週期管理頁面。
工作項目搜尋
工作項目搜尋可快速彈性地搜尋集合中所有專案的所有工作項目 (圖 4)。 您可以使用工作項目搜尋的全文檢索搜尋引擎,輕鬆地跨所有工作項目欄位搜尋字詞,並有效率地找到相關的工作項目。 在任何工作項目欄位上使用內嵌搜尋篩選,將範圍快速縮小到工作項目清單。
在 TFS 中設定搜尋服務之後,您可以開始搜尋,而不需要安裝任何其他項目。 使用工作項目搜尋,您可以:
- 搜尋您所有的專案:在您自己及夥伴小組的待處理項目中搜尋。 在所有工作項目上使用跨專案搜尋,以便搜尋您組織的所有工作項目。 使用專案和區域路徑篩選來縮小您的搜尋範圍。
- 搜尋所有工作項目欄位: 藉由搜尋所有工作項目欄位 (包括之前的欄位),輕鬆快速地找到相關的工作項目。 跨所有欄位使用全文檢索搜尋,以有效率地找到相關的工作項目。 程式碼片段檢視指出找到相符項目的位置。
- 在特定欄位中搜尋: 在任何工作項目欄位上使用快速的內嵌搜尋篩選,幾秒內就將範圍縮小到工作項目清單。 下拉式建議清單可協助您更快完成搜尋。 例如,類似 AssignedTo:Chris WorkItemType:Bug State:Active 的搜尋會找到所有指派給名為 Chris 的使用者且目前正在進行的 Bug。
- 利用與工作項目追蹤的整合:工作項目搜尋介面與工作中樞內熟悉的控制項整合,讓您檢視、編輯、註解、共用及執行其他許多工作。
版本控制改善
新的分支策略配置體驗
我們重新設計了分支原則設定體驗,並新增一些很棒的功能 (圖 5)。 其中一項最強大的功能是能夠設定分支資料夾的原則。 您可以從 [分支] 檢視選取分支資料夾,然後從操作功能表選擇 [分支原則] 來執行這項操作。
這會開啟新的原則設定 UX,您可以在其中設定要套用至分支資料夾中所有分支的原則 (圖 6)。
如果您使用建置原則,您現在可以為單一分支設定多個組建。 還提供新的選項,讓您指定自動或手動觸發程序 (圖 7)。 手動觸發程序適用於可能需要長時間執行的自動化測試回合等項目,而且您在完成提取要求之前,實際上只需要執行一次。 建置原則也有顯示名稱,這在設定多個組建時會很有用。
設定手動觸發的原則之後,您可以在提取要求的 [原則] 區段中選取 [佇列組建] 選項來執行此原則 (圖 8)。
針對必要審查政策 (圖 9),我們新增了一項功能,讓系統管理員能指定一個備註,當政策套用時可附加至拉取請求時間表 (圖 10)。
無活躍評論的新政策
請確保您在提取請求中遵循新的 [註解] 原則來處理所有註解。 啟用此政策後,作用中的註解會阻擋 PR 的完成,並強制使所有註解需被解決。 留下註解給 PR 作者但樂觀地核准提取要求的檢閱者,可確保急切合併的作者不會錯過任何註解。
檔案中樞改進
我們對 [檔案] 中樞做了幾項更新,以改善檢視和編輯體驗。
針對檢視,我們新增了檢視點,讓您可以在目前資料夾中閱讀 README (圖 11)、預覽 Markdown 檔案、比較檔案與以前版本 (圖 12),並查看責任歸屬。
針對編輯,您現在可以預覽變更、輕鬆地新增註解、提交到新分支,以及連結工作項目(圖 13)。
視覺化您的 Git 存放庫
您現在可以在顯示存放庫或檔案的提交紀錄時同時看到一個圖表。 這可讓您輕鬆地使用 git graph 為您的 Git 存放庫建立所有分支和提交的心智模型 (圖 14)。 此圖表會按照拓撲順序顯示您所有的提交。
Git 圖表的主要項目包括 (圖 15):
- Git 的版本控制圖譜會右側對齊,因此與預設分支或選取分支相關的提交會出現在右側,而圖表的其餘部分則向左延展。
- 合併認可會以連接到第一個父代和第二個父代的灰點表示。
- 一般提交會以藍點表示。
- 如果在接下來 50 個提交的檢視區中看不到提交的父提交,我們將會刪除提交連接。 按一下箭頭之後,提交會連接到其父提交。
檢視提交上的 Git 標記
如果您的小組一直使用 Git 標記來標示儲存庫歷史中的特定時間點,那麼您提交的內容現在會顯示您所建立的標記。 您能夠在提交清單檢視和詳細資訊頁面中,檢視特定提交的標記 (圖 16)。
將標籤新增至提交
您現在可以直接移至認可並新增標記,而不是從命令列建立標記,然後將標記推送到存放庫 (圖 17)。 [標記建立] 對話方塊也可讓您標記存放庫中的任何其他參考。
認可清單檢視也支援操作功能表 (圖 18)。 不需要移至認可詳細資料頁面,即可建立標記並建立新分支 (圖 19)。
更新的變更集和擱置集頁面
我們已將 TFVC 中的變更集和擱置集頁面現代化。 使用輔助技術的人員可更輕鬆地存取這兩個頁面。 這些新頁面也有新頁首,其中包含變更集標題和變更集的相關資訊,例如作者詳細資料 (圖 20)。
變更集和擱置集頁面也具備新的 Markdown 討論控制項 (圖 21),讓使用者可以以 Markdown 語法鍵入註解、使用 # 來關聯工作項目,並輕鬆地附加檔案和圖片。
改進的提交篩選
您現在可以透過進階篩選選項篩選認可歷程記錄結果 (圖 22)。 您可以依下列項目篩選提交:
- 完整歷程記錄。
- 已簡化合併的完整歷程記錄。
- 第一個父代。
- 簡單歷程記錄 (這是預設篩選設定)。
將存放庫從 TFVC 匯入 Git
您可以將 TFVC 存放庫中的程式碼遷移到相同帳戶中的 Git 存放庫。 若要開始移轉,請從存放庫選取器下拉式清單選取 [匯入存放庫]\(圖 23)。
您可以將個別資料夾或分支匯入 Git 存放庫,也可以匯入整個 TFVC 存放庫 (但不包括分支) (圖 24)。 也可匯入最多 180 天的歷程記錄。
Git LFS 檔案鎖定
我們新增了 Git LFS 檔案鎖定功能。 這可讓小組在處理大量無法比對差異的檔案時,避免在兩個人或更多人同時編輯同一檔案而導致工作遺失。 在任何人開始編輯檔案之前,會先鎖住該檔案,而這個鎖定會通知伺服器。 當其他人嘗試取得鎖定時,伺服器會拒絕要求,讓第二個人知道其他人已在使用該檔案。 請升級為 Git LFS 2.1 或更新版本,以便使用這項功能。
Git 提交註解使用新的討論功能
我們已更新 Git 提交上的輕量註釋,使其使用新的討論控制功能。 這會將對 Markdown 的支援整合到這些註解,使網路上的所有程式碼註解功能更完美,讓 Git 和 TFVC 可以使用最新體驗。
新的樹狀檢視控制項
拉取請求檔案檢視器、Git 提交詳細資料、Git 推送詳細資料、TFVC 擱置集詳細資料、TFVC 變更集詳細資料、TFVC 變更集中心和 Git 歷史中心,皆已更新為新的樹狀檢視控制項 (圖 25)。 樹狀檢視有一些可用性的改進。 首先,我們變更了檢視,顯示自動摺疊空資料夾節點的壓縮樹狀檢視,並增加檢視中的檔案數目。
此樹狀也會以更精簡的方式來顯示註解。 含有註解的檔案會顯示代表每個註解討論串的子項目,並提供表示已建立討論串之使用者的顯示圖片。 新的及含有回覆的註解討論串會以藍點表示,而回覆計數會合計成一個計數。
提取要求改進
改進 PR 作者和檢閱者的 CTA
對於使用分支政策的小組,有時很難清楚知道在查看拉取請求時需要做出什麼行動。 如果主要操作是 [完成] 按鈕,是否表示已準備好完成? PR 檢視現在會利用關於正在瀏覽頁面的使用者資訊和已配置分支策略的狀態,呈現對該使用者最合理的行動呼籲。
當原則已設定但尚未通過時,[完成] 按鈕 (圖 26) 現在會建議使用 [自動完成] 功能。 如果政策阻礙您順利完成 PR 的話,我們提供一個選項,讓您在這些政策最終通過後完成 PR。
檢閱者通常會更傾向於核准 PR 而不是完成它,因此如果您尚未核准,CTA 的主要部分會醒目顯示 [核准] 按鈕 (圖 27)。
核准後,檢閱者會看到 [完成](或 [自動完成])按鈕被反白顯示為 CTA,前提是檢閱者同時是完成此 PR 的人。
可付諸行動的評論
在含有多個註解的 PR 中,可能很難追蹤所有交談。 為了協助留言管理,我們已透過多項增強功能來簡化解決已回應的項目的流程:
- 在每個 PR 的標頭中,您現在會看到已解決的註解計數 (圖 28)。
- 當註解被處理後,您可以只需點擊一下即可解決 (圖 29)。
- 如果您在解決問題時有新的註解要添加,可以在同時執行回覆和解決操作 (圖 30)。
- 解決註解之後,您會看到計數逐漸增加,直到所有註解被解決為止(圖 31)。
- [概觀] 中的篩選已經過改善,可依各種註解狀態篩選,並顯示每個篩選選項的註解計數 (圖 32)。
更新檢視顯示變基和強制推送
在 [提取要求詳細資料] 檢視中,[更新] 索引標籤已經過改進,會顯示何時發生強制推送,以及基底認可是否已變更 (圖 33)。 如果您在完成 PR 之前將主題分支中的變更重訂基底,這兩項功能會非常有用。 檢閱者現在有足夠的資訊讓他們知道確切發生的情況。
依人篩選合併請求
現在更容易尋找提取要求! 我們新增了篩選選項,可讓您尋找特定作者所建立或指派給特定檢閱者的 PR (圖 34)。 只要從作者或檢閱者篩選選取一位使用者,即會更新清單,只顯示符合篩選的 PR。
略過拉取請求政策時需要提供原因
當您略過提取要求原則時,您必須指定原因。 在 [完成提取要求] 對話方塊中,如果他們選擇略過,您會看到新的 [原因] 欄位 (圖 35)。
輸入原因及完成提取要求之後,訊息將會顯示在 [概觀] (圖 36) 中。
與團隊分享拉取請求
[分享提取請求] 操作是通知檢閱者的便利方式,見圖 37 。 在此版本中,我們新增了對小組和群組的支援,讓您可以透過一個步驟來通知與提取要求相關的所有人。
小組的提取要求改進
如果您是多個小組的成員,您現在會看到指派給這些小組的所有 PR 列於 [我的提取要求] 檢視中 (圖 38)。 這讓 [我的提取要求] 檢視成為您查看所有待處理 PR 唯一需要瀏覽的位置。
在未來版本中,我們會將小組新增至 [程式碼] 下的 [提取要求] 中樞,讓您更輕鬆地查看單一專案的所有 PR。
拉取請求評論的預設通知
透過新的註解通知,隨時掌握 PR 中發生的最新交談 (圖 39)。 針對您已建立的 PR,每當使用者新增註解討論串或回覆現有討論串時,您將會自動收到通知。 當您對其他使用者的 PR 加上註解時,未來如有您建立或回覆之註解討論串的任何回覆,您將會收到通知。
這些通知會當作現成訂閱的一部分來提供,並可在 [通知] 設定頁面上設定。
套件管理的改進
更新的套件管理體驗
我們更新了套件管理使用者體驗,更快速地解決使用者經常回報的問題,並有機會推出套件生命週期功能 (圖 40)。 若要深入了解此更新,請參閱更新體驗頁面。
套件管理新增 npm README 文件和一個下載按鈕
您現在可以看到任何包含 README.md 的 npm 套件的 README(圖 41)。 讀我檔案可協助您的小組記錄並分享套件的相關資訊。
您也可以使用命令列中的 [下載] 按鈕來下載任何 npm 套件。
NuGet Restore 及 NuGet Command 建構任務
我們對 [NuGet 安裝程式] (現在稱為 [NuGet 還原]) 工作進行了重大更新,且新增一項 NuGet 工作:[NuGet 命令]。 最值得注意的是,NuGet 命令與 NuGet 還原工作現都預設為使用 nuget.exe 4.0.0。
NuGet 還原 現在已針對在 Visual Studio 建置步驟之前還原套件的最常見情況進行最佳化。 它對共用單一 NuGet 摘要的小型專案也有更佳支援:您現在可以選取 Team Services 摘要,並將它新增至自動產生的 NuGet.Config。
「NuGet 命令」 工作提供彈性,可針對更複雜的 NuGet 作業指定任意命令及其參數集 (圖 42)。
建置及發行改進
新的組建定義編輯器
我們重新設計了組建定義編輯器,提供更直覺的體驗、修正一些痛點並新增功能。 希望您覺得比較容易使用範本、新增工作及變更設定。 此外,您現在可以使用流程參數,更輕鬆地指定最重要的資料,而不需要深入探索您的工作。
搜尋範本
搜尋您想要的範本,然後加以套用;或開始使用空白流程 (圖 43)。
快速找到並新增任務至您想要的位置
搜尋您要使用的工作,找到後,您可以將它新增至左側目前選取的工作之後,或將它拖放到您想要的位置 (圖 44)。
您也可以拖放來移動工作,或按住 Ctrl 鍵並同時拖放來複製工作。
使用程序參數將關鍵參數傳遞至您的任務
您現在可以使用流程參數 (圖 45),讓使用您組建定義或範本的人員更輕鬆地指定最重要的資料,而不需要深入探索您的工作。
如果您從其中一些內建範本 (例如 Visual Studio 和 Maven) 建立新的組建,您可以查看這些範本的運作方式範例。 新編輯器包含一些其他增強功能,例如讓您更快速地存取來源設定。
如需使用新編輯器建立第一個組建定義的逐步解說,請參閱 CI/CD for newbies (CI/CD 入門)。
如需詳細資訊,請參閱 2017 年使用者體驗頁面。
多版本擴充任務
延伸模組作者現在可以建立包含指定工作之多個版本的延伸模組,如此他們即可為生產環境中的每個主要版本傳送修補程式。
條件式建置工作
如果您想要更充分掌控建置工作 (例如在發生錯誤時清除項目或傳送訊息等工作),我們現在提供您四個內建選項,讓您在執行工作時進行控制 (圖 46)。
如果您需要更多彈性 (例如在特定分支上、使用特定觸發程序、在特定條件下執行的工作),您可以陳述自己的自訂條件:
and(failed(), eq(variables['Build.Reason'], 'PullRequest'))
請參閱 Specify conditions for running a task (指定執行工作的條件) 頁面。
建置和部署容器型應用程式的內建工作
在此版本中,我們已預設將 Docker 擴充功能中的大多數任務整合到產品中,並對其進行改進。此外,我們引入了一組新的任務和範本,以便更輕鬆地處理各種容器使用情境。
- Docker:建置、推送或執行 Docker 映像,或是執行 Docker 命令。 此工作可搭配 Docker 或 Azure Container Registry 使用。 您現在可以使用我們的內建服務主體驗證結合 ACR,讓整個使用過程變得更加簡單。
- Docker-Compose:建置、推送或執行多容器 Docker 應用程式。 此工作可搭配 Docker 或 Azure Container Registry 使用。
- Kubernetes:執行 kubectl 命令以在 Azure Container Service 中部署、設定或更新 Kubernetes 叢集。
- Service Fabric:將容器部署到 Service Fabric 叢集。 Service Fabric 是今日在雲端中執行 Windows 容器的最佳選擇。
Azure Web 應用程式部署更新
我們針對 Azure Web 應用程式提供了許多增強功能:
- Azure App Service 部署工作支援部署 Java WAR 檔案、Node.js、Python 和 PHP 應用程式。
- Azure App Service 部署工作支援使用容器部署到適用於 Linux 的 Azure Web 應用程式。
- Azure 入口網站的持續傳遞功能已擴充,支援 Node 應用程式。
- 新增 Azure App Service 管理任務,以啟動、停止、重新啟動或進行 Azure App Service 的槽位交換。 它也支援安裝網站延伸模組以啟用必要 PHP 或 Python 版本的安裝,或是安裝 IIS Manager 或 Application Insights。
我們也將 CI/CD 支援引入最新版 Azure CLI,以設定 CI/CD。 以下是範例:
az appservice web source-control config --name mywebapp --resource-group mywebapp_rg --repo-url https://myaccount.visualstudio.com/myproject/_git/myrepo --cd-provider vsts --cd-app-type AspNetCore
.NET Core 工作支援專案檔
在目前更新中,我們將增強 .NET Core 工作,除了 project.json,也支援 *.csproj 檔案。 您現在可以在組建代理程式上使用 Visual Studio 2017,透過 csproj 檔案建置 .NET Core 應用程式。
SSH 部署改善
[透過 SSH 複製檔案] 建置/發行工作現在支援在目的路徑中使用波狀符號 (~),以簡化複製檔案到遠端使用者主目錄的作業。 此外還提供新選項,以在找不到可複製的檔案時使建置/發行失敗。
SSH 建置/發行工作現在支援在 Linux 或 macOS 遠端電腦上,執行具有 Windows 行尾結束符號的指令碼。
在建置或發行期間安裝 SSH 金鑰
新的預覽工作 [安裝 SSH 金鑰 (預覽)] 會在建置或發行之前安裝 SSH 金鑰,並在建置或發行完成時從代理程式移除金鑰。 所安裝的金鑰可用於從 Git 存放庫或子模組擷取程式碼、執行部署指令碼或其他需要 SSH 驗證的活動。 未來將改善這項功能,以支援複雜密碼和其他功能。
如果指定了 Visual Studio 2017 但該產品不在代理程式上,工作會失敗
Visual Studio 建置和 MSBuild 工作可讓您選取 Visual Studio 特定版本。 截至目前為止,如果 Visual Studio 2017 版本無法使用,這些工作會自動選取下一個可用的版本。
我們將變更此行為。 現在,如果您選取 Visual Studio 2017 但該產品不在代理程式上,建置將會失敗。
此變更的原因如下:
較新的應用程式類型 (例如 .NET Core) 不會以較舊的建置工具編譯。 這些類型明確需要 Visual Studio 2017 或更新版本。
當您使用完全相同的 Visual Studio 版本時,您會得到更一致且可預測的結果。
每當建置工作退回時,您可能會遇到難以理解的編譯錯誤。
提示
請確保您使用的佇列連接到擁有 Visual Studio 2017 的代理程式的集區,並且沒有僅具有舊版 Visual Studio 的代理程式。
私人代理程式自動清理工作區
您現在可以設定代理程式集區,定期清除過時的工作目錄和存放庫 (圖 47)。 例如,此集區將會刪除已刪除的組建和發行定義所留下的工作區。
使用此選項應該會降低私人組建和發行代理程式用盡磁碟空間的可能性。 此維護工作是針對每個代理程式 (而不是每部電腦) 來執行,因此如果您在單一電腦上有多個代理程式,您仍然可能會遇到磁碟空間問題。
建置代理升級狀態
升級代理後,現在會在佇列和集區管理平台中顯示升級的狀態。
選取非使用中電腦上的私人代理程式
系統現在會使用機器名稱作為分配組建或發布給私人代理程式時的因素。 因此,系統在配置作業時,會優先使用閒置電腦上的代理程式,而不是忙碌電腦上的代理程式。
管道佇列
我們現已從依據代理程式定價的模式改為依據管線定價的模式。 在此新模式中,使用者可同時執行與其帳戶中設定的管線數一樣多的建置或發行。 超過此限制的建置與發行將被排入佇列,並等待較早的建置與發行完成。 管線佇列功能可讓使用者更加清楚其建置或發行的情況。
在啟動管線佇列時,可看到下列資訊:
1.建置和釋放等候管線執行,以及其在等候佇列中的位置。 2. 目前透過可用的流程執行的構建和發布。
當您的建置/發行正在等候管線時,您也可以從建置/發行記錄頁面內直接啟動此檢視,並尋找其目前在管線佇列中的位置與其他詳細資料。
建置摘要中的發行動作
我們現已支援發行動作,其位於建置摘要動作列中,您可利用該動作輕鬆地建立建置之發行。
變數群組的安全性
變數群組的安全性現在係透過一組角色進行管理,例如建立者與系統管理員。
根據預設會指派以下角色。
- 創作者角色指派給貢獻者
- 系統管理員角色指派給專案集合系統管理員、專案系統管理員、組建系統管理員與發行系統管理員
- 讀取者角色指派給有效的專案使用者
所有變數群組或特定變數群組的預設值皆可覆寫。
iOS DevOps 增強功能
Apple App Store 延伸模組現在支援雙步驟驗證 (雙因素驗證),以及將組建發行給外部測試人員 (圖 48)。
[安裝 Apple 憑證 (預覽)] 是新的建置工作,它會在代理程式上安裝 P12 簽署憑證,以供後續 Xcode 或 Xamarin.iOS 組建使用。
[安裝 Apple 佈建設定檔 (預覽)] 是新的建置工作,它會在代理程式上安裝佈建設定檔,以供後續 Xcode 或 Xamarin.iOS 組建使用。
MSBuild、Xamarin.Android 和 Xamarin.iOS 建置工作現在支援使用 Visual Studio for Mac 工具組來建置。
Java 程式碼涵蓋範圍增強功能
[發行程式碼涵蓋範圍結果] 建置工作會在建置過程中報告 Cobertura 或 JaCoCo 程式碼涵蓋範圍。 它現在支援在 [摘要檔] 和 [報告目錄] 欄位中指定萬用字元和 minimatch 模式,如此可在路徑因不同組建而變更時,解析每個組建的檔案和目錄。
Maven 和 SonarQube 改進
Maven 建置工作現在允許指定用於分析結果的 SonarQube 專案,尤其是在該專案與 Maven pom.xml 檔案中指定的專案不同的情況下。
改進的 Jenkins 整合
[Jenkins 佇列作業] 建置/發行工作現在支援執行 Jenkins 多分支管線作業,同時在 Team Services 中顯示 Jenkins 主控台輸出 (圖 49)。 管道結果會發佈至 Team Services 組建摘要。
Azure 虛擬機器伸縮集部署
部署的常用模式是為每個應用程式版本建立完整的電腦映像,然後部署該映像。 為了簡化部署,我們新增了 [建置不可變的電腦映像] 工作。 此工作使用 Packer,在部署應用程式及所有必要條件之後產生電腦映像。 此工作使用部署指令碼或 Packer 設定範本來建立電腦映像,然後將它儲存在 Azure 儲存體帳戶中。 此映像可用於適合此類不可變映像部署的 Azure 虛擬機器擴展集部署。
在 Azure 資源群組部署中覆寫範本參數
目前在 Azure 資源群組部署工作中,使用者選擇 template.json 和 parameters.json,並按照特定語法在文字方塊中輸入覆寫參數值。 此體驗現已經過強化,可在方格內呈現範本參數,以供編輯和覆寫 (圖 50)。 您可以按一下 [覆寫參數] 欄位旁的 [...] 來存取這項功能,這會開啟一個對話方塊,其中包含範本參數,以及其預設值和允許的值 (如果範本和參數的 .json 檔案中已定義)。 這項功能需要您啟用來源端的 CORS 規則。 如果範本和參數 .json 檔案位於 Azure 儲存體 Blob 中,請參閱 Azure 儲存體服務文件以啟用 CORS。
多個觸發條件,搭配分支和標籤篩選
發行管理現在支援在「組建」類型的多個成品來源中設定 CD 觸發程序。 新增時,如果任何指定的成品來源有新的成品版本可用,則會自動建立新發行。 您也可以指定新建置所需的來源分支,以觸發發布。 此外,您可以設定標籤篩選器,以進一步篩選應該觸發發行版本的組建。
為發行中的成品來源設定預設值
使用者可以在定義中連結成品來源時,定義要在發行中部署的預設成品版本 (圖 51)。 當版本自動建立時,會部署所有工件來源的預設版本。
部署要求者與核准者的職責區分
先前,環境擁有者可以限制版本建立者核准版本部署到環境。 不過,您可以手動開始部署另一個使用者建立的發行,並親自核准發行。
我們現在透過將部署建立者視為單獨的使用者角色,來填補這一空缺。 可以限制發行建立者或部署建立者核准部署。
發行層級核准
您現在可以選擇自動核准在成功部署到另一個環境之後自動觸發的部署 (圖 52)。 您可選擇不逐個核准每個部署,而是一次性批准具有相同核准者的一系列部署。
假設有「開發」和「測試」這兩個環境,並將前置部署核准者設定為「使用者 A」和「使用者 B」,這兩位使用者都必須核准部署。 如果「測試」的相關原則設定如下,使用者 A 和使用者 B 在部署時只要核准「開發」即可。 系統將會自動核准「測試」部署。 如果手動觸發「測試」流程的部署,必須在部署前進行審核,以確保正確的審核已完成。
部署到 Azure 政府雲端
在 Government 雲端中具有 Azure 訂用帳戶的客戶現在可以設定 Azure Resource Manager 服務端點以國內雲端為目標。
設定平行部署數上限
這項功能可讓您掌控如何將多個待部署的版本發行到指定的環境 (圖 54)。 例如,如果您的發行管線在 QA 環境中執行組建的驗證,而且產生組建的速度比部署完成的速度更快,您可以設定多個代理程式,以及可平行驗證的最多組建數目。 這表示每個產生的組建都會經過驗證,而且等候時間與可用的代理程式數目相關。 有了這項功能,您就可以在 n 個最新的組建上平行執行驗證,並取消較舊的部署要求,以便將驗證功能發揮到最大。
手動操作工作的逾時增強功能
您現在可以在 [手動操作] 工作擱置超過指定的逾時或 60 天後(以較早者為準)自動中止或繼續。 您可以在工作的控制選項區段中指定逾時值。
版本管理 平行執行
Release Management 現在支援在階段中進行平行執行的選項 (圖 55)。 選取此選項可使用 [多重設定] 或 [多重代理程式] 作為階段乘數選項,來展開傳送階段。
多重配置:選擇此選項以針對每個多重配置值執行該階段。 例如,如果您想要同時部署到兩個不同的地區,可以在「變數」索引標籤中定義變數 ReleasePlatform 並設置值為「美國東部, 美國西部」,這將平行執行階段,一個使用「美國東部」的值,另一個使用「美國西部」的值。 多重代理程式:選取此選項可在多個代理程式上平行執行具有一或多個工作的階段。
Azure 入口網站中的 Web 應用程式部署歷程記錄
發行管理現在在使用 Azure App Service 部署工作完成部署時,會更新 App Service 的部署記錄。 您可以在 [App Service] 刀鋒視窗中選取 [持續傳遞] 選項,以檢視 Azure 入口網站中的部署歷程。
測試改進
使用代理程式階段執行測試
透過 Visual Studio 測試工作,您現在可以使用代理程式階段執行自動化測試 (圖 56)。
我們現在有跨建置、發行和測試的整合自動化代理程式。 這帶來下列優點:
- 您可以利用代理程式集區來滿足測試需求。
- 根據需求,使用相同的 Visual Studio 測試工作在不同的模式中進行測試:單一代理程式型執行、多代理程式為基礎的分散式測試執行,或多重組態執行,例如,於不同的瀏覽器上執行測試。
如需詳細資訊,請參閱這篇 Microsoft 應用程式生命週期管理文章。
依需求觸發自動化測試
[測試] 中樞現在支援從測試計劃和測試套件觸發自動化測試案例 (圖 57)。 從 [測試] 中樞執行自動化測試,需要進行類似於您在發行環境中依照排程執行測試的設定。 您需要使用 [Run automated tests from test plans] \(從測試計劃執行自動化測試) 範本在發行定義中設定環境,並與測試計劃建立關聯以執行自動化測試。 如需在測試中樞中設定環境及執行自動化測試的逐步指導,請參閱此文件。
倉儲功能改進
改進 Analysis Services 處理 Cube 的效能
我們已改善 vDimWorkItemTreeOverlay 檢視的效能,這個檢視的功能是依據連結來建立工作項目樹狀階層維度。 雖然是以 System.LinkTypes.Hierarchy 連結為依據,但我們觀察到其他連結也會影響處理時間 (例如 System.LinkTypes.Related)。 我們已將檢視最佳化,以跳過限制資料讀取量的其他連結類型。 這項變更大幅縮短了某些倉儲的處理時間。
不區分大小寫的結構協調
倉儲資料庫的結構描述是在結構描述重新調整程序中,將所有附加的集合資料庫欄位合併建立而成。 之前,所有的比較都會區分大小寫,而且系統管理員必須確認欄位的參考名稱完全相符。 這在大小寫有輕微差異時會造成問題。 在此版本中,我們使流程對於這類不一致更加包容。
系統管理改善
已合併的電子郵件通知收件者
相同電子郵件通知的所有收件者現在會合併至 [收件者:] 行,並傳送一封電子郵件。 之前會傳送個別電子郵件給每個收件者。 這會很難了解還有誰收到通知,並透過電子郵件與其討論該事件。 這項功能會套用至能夠以多個收件者為目標的現成訂閱及小組訂閱。 例如,提取要求的所有檢閱者現在會在提取要求變更時收到一封相同的電子郵件。
深入了解如何合併電子郵件收件者。
開箱即用通知
使用者和小組現在會在帳戶中有直接相關的活動時,自動收到電子郵件通知,例如當:
- 工作項目指派給使用者時。
- 當使用者或小組被新增為拉取請求的審查員時。
- 使用者或小組是已更新之提取要求的檢閱者時。
- 另一位使用者對合併請求的評論進行回覆。
- 使用者要求的組建完成。
- 安裝或要求延伸模組時 (僅限系統管理員)。
使用者可以取消上述任何訂閱,只要前往使用者設定檔功能表下的 [通知] 設定,然後關閉適當的切換開關即可。
帳戶管理員可以停用上述一或多個自動訂閱,方法是巡覽至設定齒輪下的集合層級 [通知] 中樞。 上述任何訂閱都可以透過按一下 […] 動作下的 [停用] 來停用。 停用訂閱之後,使用者在其個人通知設定頁面中將不會再看到此訂閱。
深入了解立即可用的通知。
擴充套件管理權限
系統管理員現在可以授與其他使用者和群組管理集合之延伸模組的權限 (圖 58)。 先前只有集合管理員 (也就是 Project Collection Administrators 群組的成員) 才能檢閱延伸模組要求,或是安裝、停用或解除安裝延伸模組。
若要授與此權限,系統管理員可以開啟 [Marketplace] 功能表、選取 [管理延伸模組],然後按一下 [安全性] 按鈕,以巡覽至 [延伸模組] 管理中樞:
在安裝延伸模組時、延伸模組需要注意時及其他情況下取得通知
系統管理員 (或能夠管理延伸模組的人員) 現在會在安裝、解除安裝、啟用、停用延伸模組,或延伸模組需要注意時,自動收到通知。 這特別適用於多人負責管理延伸模組的較大型部署。 系統管理員可以巡覽至設定檔功能表下的 [通知] 設定,然後關閉延伸模組切換開關,來關閉這些通知。
系統管理員也可以定義延伸模組相關事件的自訂訂閱。 例如,系統管理員可以在每次更新任何延伸模組時收到通知。
使用者現在也可以關閉有關其延伸模組要求的自動通知。
允許 TFS 系統管理員將訂閱者新增至進階存取層級
Team Foundation Server 的未來版本將移除 [進階] 存取層級。 不過在這之前,TFS 系統管理員可以透過 Update 2,將 MSDN Platform 和 Visual Studio Test Professional 訂閱者新增至 [進階] 存取層級。
Visual Studio Enterprise 訂閱者應該新增至 Visual Studio Enterprise 存取層級,而不是 [進階]。 如果您已購買 Test Manager 延伸模組,請在您所購買之 Team 專案內的使用者中樞,繼續管理此延伸模組。
Microsoft Teams 整合功能
使用 Microsoft Teams 共同作業的組織現在能夠在小組頻道中,查看 TFS 專案的活動。 這讓小組在運用 Microsoft Teams 時,能夠隨時獲悉相關的工作項目變更、提取要求、組建與版本以及其他項目。 如需詳細資訊,請參閱文件。
已知問題
無法在網頁中正確呈現工作項目表單
問題:
如果您為 Visual Studio 用戶端安裝了自訂控制項 (例如多重值控制項),但網頁用戶端未安裝,網頁中的工作項目表單將無法呈現。
因應措施:
您需要更新為最新版的控制項。 此外還必須新增不含所 缺少之控制項元素的網頁配置。 您可以在 Custom Controls for TFS Work Item Tracking (TFS 工作項目追蹤的自訂控制項) 頁面上,找到 TFS 2017 Update 的最新多重值控制項。 如需此版面配置的詳細資訊,請參閱 All FORM XML elements reference (TFS 2015) (所有 FORM XML 元素參考 (TFS 2015)) 頁面。
TFS 版本是 RC2,而非最終版本
問題:
在 2017 年 8 月 1 日前下載並安裝 TFS 2017 Update 2 之後,版本是 RC2。
因應措施:
這是已在 2017 年 8 月 1 日修正的安裝連結間歇性問題所造成。 請重新下載 TFS 2017 Update 2,並安裝這個最終版本。
查看 Team Foundation Server 2017 的客戶回報問題。
意見反應與建議
我們很希望聽聽您的意見! 您可以透過開發人員社群回報並追蹤問題,並在 Stack Overflow 上取得建議。