本文將演示如何在Visual Studio中構建完整的CI/CD流水線,并使用Visual Studio的新Continuous Delivery擴展部署到Azure。
通過使用持續(xù)集成(CI)和持續(xù)交付(CD)的自動化實踐,您可以實現(xiàn)應用程序的快速、可靠和重復性的開發(fā)和部署,同時最大程度地減少人為干預。Visual Studio作為一個功能強大的集成開發(fā)環(huán)境(IDE),提供了豐富的協(xié)作工具和擴展,使得構建、測試和部署CI/CD流水線變得更加簡單。這篇文章將向讀者介紹在Visual Studio中創(chuàng)建CI/CD流水線的步驟以及如何使用Visual Studio的Continuous Delivery擴展改進軟件質量和安全性。最后,通過CI/CD的自動化系統(tǒng),您可以確保軟件質量、提高生產效率,并為客戶提供滿意的產品體驗。
使用CI允許您合并代碼更改,以確保這些更改與現(xiàn)有代碼庫一起正常工作,并進行測試。另一方面,使用CD,您會反復將代碼推送到部署流水線中,在此流水線中構建、測試和部署代碼。CI/CD團隊實踐自動化了應用程序的構建、測試和部署,并提供完全可追溯性,以查看代碼更改、審查和測試結果。
什么是Visual Studio?
Visual Studio是一個功能強大的集成開發(fā)環(huán)境(IDE)。這個功能豐富的IDE具有用于編碼、調試和構建應用程序的強大環(huán)境。Azure DevOps(先前稱為VS Team Services)擁有一套全面的協(xié)作工具和擴展,緊密集成了Visual Studio環(huán)境的CI/CD流水線。CI(持續(xù)集成)更新任何代碼更改到現(xiàn)有代碼庫,而CD(持續(xù)部署)則將其通過部署流水線進一步構建、測試和部署。帶有CI/CD擴展的Visual Studio因此自動化了軟件開發(fā)的構建、部署和測試過程。不僅如此,它還允許完全的可追溯性,以查看代碼更改、審查和測試結果。
軟件質量在很大程度上取決于開發(fā)過程。CI/CD實踐的自動化系統(tǒng)專注于通過持續(xù)交付和部署來實現(xiàn)這一目標。因此,這不僅確保了軟件質量,還提高了生產的安全性和盈利能力。這也縮短了生產時間以包含新功能,為開發(fā)工作減少了壓力,創(chuàng)造了滿意的客戶。
要創(chuàng)建一個CI構建、發(fā)布流水線和將代碼部署到Azure中,您只需要一個現(xiàn)有的基于Web的應用程序和一個來自市場的擴展。DZone之前已經(jīng)介紹了如何從頭開始構建CI/CD流水線的方法。
如何使用Visual Studio構建CI/CD流水線
步驟1:啟用Visual Studio的Continuous Delivery擴展
為了使用Visual Studio的Continuous Delivery Tools擴展,您只需要啟用它。Continuous Delivery Tools for Visual Studio擴展使得自動化和及時了解針對Azure的其他項目的DevOps流水線變得簡單。這些工具還允許您改進代碼質量和安全性。
轉到“工具”菜單,并選擇“擴展和更新”。
在彈出的窗口中,選擇“Continuous Delivery Tools for Visual Studio”,然后點擊“啟用”。
*如果您尚未安裝Continuous Delivery Tools,請前往在線的Visual Studio Marketplace,搜索“Continuous”,然后下載安裝。
啟用Visual Studio的Continuous Delivery擴展
步驟2:在Team Services中創(chuàng)建項目
在這一步中,您將在Team Services中創(chuàng)建一個項目,并將您的項目代碼放在那里,而無需離開您的IDE。Team Services是一個工具,可以幫助您構建持續(xù)集成和持續(xù)交付。
進入解決方案資源管理器,在基于Web的項目上右鍵單擊。
單擊新的上下文菜單“配置持續(xù)交付”。
會顯示一個名為“配置持續(xù)交付”的新窗口。點擊“添加此項目到源代碼控制”的加號按鈕。
在Team Explorer中的“發(fā)布到Visual Studio Team Services”部分,點擊“發(fā)布Git倉庫”按鈕。
您的Microsoft賬戶會自動從IDE中獲取。同時顯示使用的Team Services域名和存儲庫名稱。點擊“發(fā)布存儲庫”按鈕以在Team Services中創(chuàng)建一個項目。
同步完成后,您將看到您的項目已在Team Explorer中創(chuàng)建。
現(xiàn)在,您的項目已經(jīng)創(chuàng)建到Team Services賬戶中(源代碼已上傳,有一個Git倉庫,并且正在自動生成連續(xù)交付流水線)。
在輸出窗口中,您可以看到已為您的項目設置了CI/CD。
過一段時間后,您將獲得三個不同的鏈接:
(1).構建鏈接
(2).發(fā)布鏈接
(3).指向Azure中創(chuàng)建的資產的鏈接,該資產將成為您部署的目標(應用程序服務)。
步驟3:在Team Services中打開項目
構建定義是您定義自動化構建過程的實體。在構建定義中,您組合一組任務,每個任務執(zhí)行構建的一個步驟。
在輸出窗口中選擇提供的構建定義鏈接并復制。
將其粘貼到瀏覽器中,以打開包含您的應用程序的項目在Team Services中。
顯示構建定義的摘要。您可以看到構建已經(jīng)在運行。
點擊構建鏈接。
它顯示為正在自動運行您的構建的構建服務器的輸出。
點擊“編輯構建定義”。
添加一個額外的任務。
自定義已有的任務。
步驟4:測試程序集任務
每個任務都有一個版本選擇器,可以讓您指定在構建或部署中使用的任務的主要版本。當發(fā)布新的次要版本(例如,從1.2到1.3)時,您的構建或發(fā)布將自動使用新版本。但是,如果發(fā)布了新的主要版本(例如,2.0),您的構建或發(fā)布將繼續(xù)使用您指定的主要版本,直到您編輯定義并手動切換到新的主要版本為止。
點擊“Test Assemblies”。
您會看到一個小旗標圖標,表示該任務的新預覽版本可用。點擊旗標圖標,并選擇版本2*以進行預覽。
“Test Assemblies”中顯示了幾個新項目。其中一個是“只運行受影響的測試”。這是一個項目,允許工具分析哪些代碼行與過去運行的測試發(fā)生了變化,并且您將知道哪些測試執(zhí)行了哪些代碼行(您不需要運行所有測試:您只需運行受到更改影響的測試)。
“在多核機器上并行運行測試”是一個項目,允許您的測試以一種能夠利用您可用的所有核心的方式運行。使用此項目,您將有效地增加同時運行的測試數(shù)量,從而減少運行所有測試所需的時間。
在多核計算機上并行運行測試-1
在多核計算機上并行運行測試-2
步驟5:添加一個額外的任務
任務是定義構建定義中自動化的基本單元,或者在發(fā)布定義的環(huán)境中。任務只是一個帶有一組輸入的打包腳本或過程的抽象。有一些內置的任務可以實現(xiàn)基本的構建和部署場景。
點擊“添加任務”的加號按鈕,以創(chuàng)建一個新的額外任務。
會顯示一個龐大的任務列表,可以直接運行,從而使您能夠針對任何語言/平臺(支持Chef、CocoaPods、Docker、Node.js、Java)進行目標設置。
如果您想安裝未列出的其他功能或擴展,請簡單點擊上述任務列表的上方顯示的“檢查我們的市場”鏈接。
步驟6:設置加密和非加密變量
變量是在構建定義中存儲和共享關鍵數(shù)據(jù)的好方法。一些構建模板會自動為您定義一些變量。
點擊名稱為“變量”的第二個選項卡(位于“任務”選項卡旁邊)。
點擊位于變量值旁邊的小鎖圖標,以對其進行加密。
加密后,變量的值將顯示為星號,并且除了加密它的人之外,沒有人可以看到這個值。
加密的變量
步驟7:開啟持續(xù)集成(CI)觸發(fā)器
在“觸發(fā)器”選項卡中,您可以指定觸發(fā)構建的事件。您可以將相同的構建定義用于CI和計劃的構建。
點擊第三個選項卡名稱為“觸發(fā)器”,在那里您可以設置您的持續(xù)集成。
啟用“禁用此觸發(fā)器”的復選框意味著每當有人檢入代碼時,或者換句話說,源代碼的新版本可用時,此構建都會自動運行
禁用觸發(fā)器
步驟8:構建定義選項
如果構建過程失敗,您可以自動創(chuàng)建一個工作項來跟蹤問題的修復。您可以指定工作項類型。您還可以選擇是否將工作項分配給請求者。例如,如果這是一個CI構建,并且團隊成員檢入了一些破壞了構建的代碼,則將工作項分配給該人員。
點擊第四個選項卡名稱為“選項”。
啟用“發(fā)生故障時創(chuàng)建工作項”的復選框。CI構建應該在每次檢入時進行構建,如果由于開發(fā)人員的錯誤導致某些構建失敗,您可以自動創(chuàng)建一個工作項以便跟蹤問題的修復。
“默認代理隊列”選項顯示在選項的后半部分。下拉列表中列出了所有可用的池:
(1)、默認(如果您的團隊使用您自己設置的私有代理)
(2)、托管(基于Windows的機器,如果您的團隊使用VS2017或VS2015)
(3)、托管Linux預覽版(如果您的團隊在Ubuntu上使用開發(fā)工具)
(4)、托管VS2017(如果您的團隊使用Visual Studio 2017)
默認代理隊列選項
步驟9:構建摘要
您可以按照以下步驟查看構建的摘要,即構建過程中發(fā)生的所有事情:
生成摘要:最近完成
代碼覆蓋率(Code coverage)
所有工作項和任務(All work items and tasks)
部署(Deployments)
步驟10:發(fā)布定義
發(fā)布定義是VSTS和TFS中發(fā)布管理的基本概念之一。它定義了將應用程序部署到各種環(huán)境的端到端發(fā)布過程。請記住,作為開發(fā)人員,您無需離開VS即可將應用程序從VS部署到Azure。
發(fā)布定義
一個顯示將代碼部署到Azure的發(fā)布定義被展示出來。
點擊發(fā)布定義旁邊的三個點。
從顯示的上下文菜單中,選擇“編輯”。
一系列環(huán)境
在每個環(huán)境中執(zhí)行的任務
步驟11:檢查應用程序是否真的從Visual Studio部署到Azure
Microsoft Azure是一個云計算服務,通過全球范圍的由Microsoft管理的數(shù)據(jù)中心,用于構建、測試、部署和管理應用程序和服務。在這一步中,您將驗證您的Web應用程序是否已部署在Azure中,按照以下步驟操作:
進入Azure門戶。
點擊“資源組”。
在搜索框中搜索“demo”。
在搜索結果中點擊您的Web項目“e2edemo”。
打開Web應用程序鏈接。
進一步閱讀:使用Azure DevOps構建發(fā)布流程。
結論
持續(xù)集成是一種軟件開發(fā)實踐,每當開發(fā)人員推送代碼到應用程序時,都會進行構建和測試。持續(xù)交付是一種軟件工程方法,其中持續(xù)集成、自動化測試和自動化部署能力使得軟件能夠以快速、可靠和重復的方式進行開發(fā)和部署,盡量減少人為干預。文章來源:http://www.zghlxwxcb.cn/article/712.html
高效團隊通常會實踐持續(xù)集成(CI)和持續(xù)交付(CD)。VSTS不僅自動化了應用程序的構建、測試和部署,還提供完整的溯源能力,可以查看構建中的所有內容,包括代碼更改、審查和測試結果,作為一個完全支持DevOps實踐的工具。文章來源地址http://www.zghlxwxcb.cn/article/712.html
到此這篇關于使用Visual Studio構建完整的CI/CD流水線的文章就介紹到這了,更多相關內容可以在右上角搜索或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!