国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Visual Studio構建完整的CI/CD流水線

本文將演示如何在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流水線變得簡單。這些工具還允許您改進代碼質量和安全性。

  1. 轉到“工具”菜單,并選擇“擴展和更新”。

  2. 在彈出的窗口中,選擇“Continuous Delivery Tools for Visual Studio”,然后點擊“啟用”。

*如果您尚未安裝Continuous Delivery Tools,請前往在線的Visual Studio Marketplace,搜索“Continuous”,然后下載安裝。

啟用Visual Studio的Continuous Delivery擴展

啟用Visual Studio的Continuous Delivery擴展

步驟2:在Team Services中創(chuàng)建項目

在這一步中,您將在Team Services中創(chuàng)建一個項目,并將您的項目代碼放在那里,而無需離開您的IDE。Team Services是一個工具,可以幫助您構建持續(xù)集成和持續(xù)交付。

  1. 進入解決方案資源管理器,在基于Web的項目上右鍵單擊。

  2. 單擊新的上下文菜單“配置持續(xù)交付”。

  3. 會顯示一個名為“配置持續(xù)交付”的新窗口。點擊“添加此項目到源代碼控制”的加號按鈕。

  4. 在Team Explorer中的“發(fā)布到Visual Studio Team Services”部分,點擊“發(fā)布Git倉庫”按鈕。

  5. 您的Microsoft賬戶會自動從IDE中獲取。同時顯示使用的Team Services域名和存儲庫名稱。點擊“發(fā)布存儲庫”按鈕以在Team Services中創(chuàng)建一個項目。

  6. 同步完成后,您將看到您的項目已在Team Explorer中創(chuàng)建。

    項目是在團隊資源管理器中創(chuàng)建的

    現(xiàn)在,您的項目已經(jīng)創(chuàng)建到Team Services賬戶中(源代碼已上傳,有一個Git倉庫,并且正在自動生成連續(xù)交付流水線)。

  7. 在輸出窗口中,您可以看到已為您的項目設置了CI/CD。

  8. 過一段時間后,您將獲得三個不同的鏈接:

    (1).構建鏈接

    (2).發(fā)布鏈接

    (3).指向Azure中創(chuàng)建的資產的鏈接,該資產將成為您部署的目標(應用程序服務)。

鏈接到在Azure中創(chuàng)建的資產

步驟3:在Team Services中打開項目

構建定義是您定義自動化構建過程的實體。在構建定義中,您組合一組任務,每個任務執(zhí)行構建的一個步驟。

  1. 在輸出窗口中選擇提供的構建定義鏈接并復制。

  2. 將其粘貼到瀏覽器中,以打開包含您的應用程序的項目在Team Services中。

  3. 顯示構建定義的摘要。您可以看到構建已經(jīng)在運行。

  4. 點擊構建鏈接。

  5. 它顯示為正在自動運行您的構建的構建服務器的輸出。

  6. 點擊“編輯構建定義”。

  7. 添加一個額外的任務。

  8. 自定義已有的任務。

自定義任務

步驟4:測試程序集任務

每個任務都有一個版本選擇器,可以讓您指定在構建或部署中使用的任務的主要版本。當發(fā)布新的次要版本(例如,從1.2到1.3)時,您的構建或發(fā)布將自動使用新版本。但是,如果發(fā)布了新的主要版本(例如,2.0),您的構建或發(fā)布將繼續(xù)使用您指定的主要版本,直到您編輯定義并手動切換到新的主要版本為止。

  1. 點擊“Test Assemblies”。

  2. 您會看到一個小旗標圖標,表示該任務的新預覽版本可用。點擊旗標圖標,并選擇版本2*以進行預覽。

  3. “Test Assemblies”中顯示了幾個新項目。其中一個是“只運行受影響的測試”。這是一個項目,允許工具分析哪些代碼行與過去運行的測試發(fā)生了變化,并且您將知道哪些測試執(zhí)行了哪些代碼行(您不需要運行所有測試:您只需運行受到更改影響的測試)。

  4. “在多核機器上并行運行測試”是一個項目,允許您的測試以一種能夠利用您可用的所有核心的方式運行。使用此項目,您將有效地增加同時運行的測試數(shù)量,從而減少運行所有測試所需的時間。

在多核計算機上并行運行測試-1

在多核計算機上并行運行測試-1

在多核計算機上并行運行測試-2

在多核計算機上并行運行測試-2

步驟5:添加一個額外的任務

任務是定義構建定義中自動化的基本單元,或者在發(fā)布定義的環(huán)境中。任務只是一個帶有一組輸入的打包腳本或過程的抽象。有一些內置的任務可以實現(xiàn)基本的構建和部署場景。

  1. 點擊“添加任務”的加號按鈕,以創(chuàng)建一個新的額外任務。

  2. 會顯示一個龐大的任務列表,可以直接運行,從而使您能夠針對任何語言/平臺(支持Chef、CocoaPods、Docker、Node.js、Java)進行目標設置。

  3. 如果您想安裝未列出的其他功能或擴展,請簡單點擊上述任務列表的上方顯示的“檢查我們的市場”鏈接。

添加附加任務

步驟6:設置加密和非加密變量

變量是在構建定義中存儲和共享關鍵數(shù)據(jù)的好方法。一些構建模板會自動為您定義一些變量。

  1. 點擊名稱為“變量”的第二個選項卡(位于“任務”選項卡旁邊)。

  2. 點擊位于變量值旁邊的小鎖圖標,以對其進行加密。

  3. 加密后,變量的值將顯示為星號,并且除了加密它的人之外,沒有人可以看到這個值。

加密的變量

加密的變量

步驟7:開啟持續(xù)集成(CI)觸發(fā)器

在“觸發(fā)器”選項卡中,您可以指定觸發(fā)構建的事件。您可以將相同的構建定義用于CI和計劃的構建。

  1. 點擊第三個選項卡名稱為“觸發(fā)器”,在那里您可以設置您的持續(xù)集成。

  2. 啟用“禁用此觸發(fā)器”的復選框意味著每當有人檢入代碼時,或者換句話說,源代碼的新版本可用時,此構建都會自動運行

禁用觸發(fā)器

禁用觸發(fā)器

步驟8:構建定義選項

如果構建過程失敗,您可以自動創(chuàng)建一個工作項來跟蹤問題的修復。您可以指定工作項類型。您還可以選擇是否將工作項分配給請求者。例如,如果這是一個CI構建,并且團隊成員檢入了一些破壞了構建的代碼,則將工作項分配給該人員。

  1. 點擊第四個選項卡名稱為“選項”。

  2. 啟用“發(fā)生故障時創(chuàng)建工作項”的復選框。CI構建應該在每次檢入時進行構建,如果由于開發(fā)人員的錯誤導致某些構建失敗,您可以自動創(chuàng)建一個工作項以便跟蹤問題的修復。

  3. “默認代理隊列”選項顯示在選項的后半部分。下拉列表中列出了所有可用的池:

    (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ā)布定義

發(fā)布定義

  1. 一個顯示將代碼部署到Azure的發(fā)布定義被展示出來。

  2. 點擊發(fā)布定義旁邊的三個點。

  3. 從顯示的上下文菜單中,選擇“編輯”。

編輯屏幕

  • 一系列環(huán)境

  • 在每個環(huán)境中執(zhí)行的任務

要在每個環(huán)境中執(zhí)行的任務

步驟11:檢查應用程序是否真的從Visual Studio部署到Azure

Microsoft Azure是一個云計算服務,通過全球范圍的由Microsoft管理的數(shù)據(jù)中心,用于構建、測試、部署和管理應用程序和服務。在這一步中,您將驗證您的Web應用程序是否已部署在Azure中,按照以下步驟操作:

  1. 進入Azure門戶。

  2. 點擊“資源組”。

  3. 在搜索框中搜索“demo”。

  4. 在搜索結果中點擊您的Web項目“e2edemo”。

  5. 打開Web應用程序鏈接。

打開web應用程序鏈接

瀏覽選項

ASP.NET屏幕

進一步閱讀:使用Azure DevOps構建發(fā)布流程。

結論

持續(xù)集成是一種軟件開發(fā)實踐,每當開發(fā)人員推送代碼到應用程序時,都會進行構建和測試。持續(xù)交付是一種軟件工程方法,其中持續(xù)集成、自動化測試和自動化部署能力使得軟件能夠以快速、可靠和重復的方式進行開發(fā)和部署,盡量減少人為干預。

高效團隊通常會實踐持續(xù)集成(CI)和持續(xù)交付(CD)。VSTS不僅自動化了應用程序的構建、測試和部署,還提供完整的溯源能力,可以查看構建中的所有內容,包括代碼更改、審查和測試結果,作為一個完全支持DevOps實踐的工具。文章來源地址http://www.zghlxwxcb.cn/article/712.html

到此這篇關于使用Visual Studio構建完整的CI/CD流水線的文章就介紹到這了,更多相關內容可以在右上角搜索或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

原文地址:http://www.zghlxwxcb.cn/article/712.html

如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請聯(lián)系站長進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • devops-5:從0開始構建一條完成的CI CD流水線

    devops-5:從0開始構建一條完成的CI CD流水線

    前文中已經(jīng)講述了靜態(tài)、動態(tài)增加agent節(jié)點,以動態(tài)的k8s cloud為例,下面就以Maven構建Java程序為例,開始構建出一條完整的CI CD流水線。 實現(xiàn)功能目標: 1.分別可以根據(jù)分支和tag從源碼倉庫clone代碼 2.拿到源碼后開始編譯 3.構建image,并push到鏡像倉庫 4.部署到對應k8s集群 5.部署

    2023年04月20日
    瀏覽(42)
  • CI/CD---使用新版云效流水線自動部署Java項目

    CI/CD---使用新版云效流水線自動部署Java項目

    兩大基本前提: 1、有一個自己的云服務器 2、項目代碼已經(jīng)提交到代碼倉庫,如gitee,github等 為什么需要流水線 1、除了第一次需要新建流水線,配置腳本外,后續(xù)所有的部署只需要提交代碼后,點擊運行流水線就行 。 2、流水線還可以回滾,此功能太過友好了。 3、當然,

    2024年02月06日
    瀏覽(40)
  • 你以為搞個流水線每天跑,團隊就在使用CI/CD實踐了?

    你以為搞個流水線每天跑,團隊就在使用CI/CD實踐了?

    在實踐中,很多團隊對于DevOps 流水線沒有很透徹的理解,要不就創(chuàng)建一大堆流水線,要不就一個流水線通吃。實際上,流水線的設計和寫代碼一樣,需要基于“業(yè)務場景”進行一定的設計編排,特別是很多通過“開源工具”搭建的流水線,更需要如此(商業(yè)的一體化平臺大部

    2024年02月08日
    瀏覽(41)
  • CI/CD流水線實戰(zhàn)

    CI/CD流水線實戰(zhàn)

    不知道為什么,現(xiàn)在什么技術都想學,因為我覺得我遇到了技術的壁壘,大的項目接觸不到,做的項目一個字 辣* 。所以,整個人心浮氣躁,我已經(jīng)得通過每天的騎行和長跑緩解這種浮躁了。一個周末,我再次宅在了家里,學習了一下 CICD 。 先分享一下 shigen 的學習視頻資源

    2024年02月12日
    瀏覽(45)
  • CI/CD 流水線 (FREE)

    CI/CD 流水線 (FREE)

    流水線是持續(xù)集成、交付和部署的頂級組件。 流水線包括: 工作,定義 做什么 。例如,編譯或測試代碼的作業(yè)。 階段,定義 何時 運行作業(yè)。例如,在編譯代碼的階段之后運行測試的階段。 作業(yè)由 runners 執(zhí)行。如果有足夠多的并發(fā)運行程序,同一階段的多個作業(yè)將并行執(zhí)

    2024年02月10日
    瀏覽(34)
  • 軟件研發(fā)CI/CD流水線圖解

    軟件研發(fā)CI/CD流水線圖解

    ? 當談到現(xiàn)代軟件開發(fā)流程時,持續(xù)集成(Continuous Integration,簡稱CI)和持續(xù)交付(Continuous Delivery,簡稱CD)是兩個關鍵的實踐。它們旨在加速開發(fā)流程、提高軟件質量,并使軟件發(fā)布更加可預測和可靠。 以下是關于CI/CD的詳細背景和解決方案的說明: 在傳統(tǒng)的軟件開發(fā)中,

    2024年02月11日
    瀏覽(45)
  • CI/CD流水線插件在服務質量看護中的實踐

    CI/CD 是一種通過在應用開發(fā)階段引入自動化來頻繁向客戶交付應用的方法。CI/CD 的核心概念是持續(xù)集成、持續(xù)交付和持續(xù)部署。 作為一種面向開發(fā)和運維團隊的解決方案,CI/CD 主要針對在集成新代碼時所引發(fā)的問題(亦稱:“集成地獄”)。 具體而言,CI/CD 可讓持續(xù)自動化

    2024年01月23日
    瀏覽(39)
  • 在 CI/CD流水線中運行自動化單元測試的4個原因

    目錄 什么是單元測試? C#中的單元測試示例 我需要在CI/CD 流水線中運行自動化測試嗎? 開發(fā)人員代碼驗證反饋循環(huán) 預驗證 步步為營 減少“另一個開發(fā)人員寫了這段代碼”的問題 單元測試 什么是單元測試? 單元測試是一小段代碼,用于測試應用程序編寫的代碼的邏輯。單

    2024年02月16日
    瀏覽(49)
  • 【業(yè)務功能115】微服務-springcloud-springboot-Kubernetes-k8s集群-Kubesphere實現(xiàn)DevOps流水線-CI/CD-SonarQube- Jenkins

    【業(yè)務功能115】微服務-springcloud-springboot-Kubernetes-k8s集群-Kubesphere實現(xiàn)DevOps流水線-CI/CD-SonarQube- Jenkins

    dev 怎么開發(fā) ops 怎么運維 參考項目鏈接:https://github.com/kubesphere/devops-maven-sample 持續(xù)集成是指軟件個人的部分向軟件整體部分交付,頻繁進行集成以便更快地發(fā)現(xiàn)其中錯誤。 CI需要具備這些: 全面的自動化測試 這是實踐持續(xù)集成持續(xù)部署的基礎,同時,選擇合適的自動化測

    2024年02月04日
    瀏覽(43)
  • [Gitlab CI] 自動取消舊流水線

    [Gitlab CI] 自動取消舊流水線

    當某一分支開啟 Merge Request 后只要提交一次 commit 就會自動創(chuàng)建一個新的流水線,此時之前的 Pipeline 不會被取消,經(jīng)過下面的設置后可以實現(xiàn)自動取消舊流水線的功能。 ??通過提交(commit)觸發(fā)的同一分支流水線可以自動冗余取消,但是通過手動觸發(fā)的同一分支流水線不會

    2024年03月12日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包