自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Azure DevOps中構(gòu)建CI/CD管道

譯文
開發(fā) 前端 系統(tǒng)運維
本文將和您探討如何在Azure DevOps中構(gòu)建CI/CD管道,以及如何通過與LambdaTest的集成,實現(xiàn)錯誤的跟蹤。

[[420522]]

【51CTO.com快譯】由Microsoft Azure提供的Azure DevOps是自動化CI/CD流程領(lǐng)域的領(lǐng)先工具。在自動化構(gòu)建和代碼項目中,開發(fā)人員可以使用Azure管道將持續(xù)集成(CI)和持續(xù)交付(CD)相結(jié)合,通過一致性的測試,將構(gòu)建好的代碼發(fā)送至目標(biāo)環(huán)境。

在本文中,我們將共同研究如何配置Azure CI/CD管道,并將其集成到LambdaTest Azure DevOps,以進行錯誤跟蹤。

什么是CI/CD管道?

CI/CD管道往往被用于自動化的持續(xù)集成和持續(xù)部署過程中。其管道可以通過構(gòu)建、測試、合并和部署等階段,來促進軟件的整個交付過程。簡而言之,作為可運行的步驟規(guī)范,管道能夠通過節(jié)省開發(fā)人員的手動工作量與時間,高效地交付出新的軟件版本。

CI/CD管道的階段:

1. 源階段:在大多數(shù)情況下,開發(fā)人員在嘗試對中央存儲庫進行更改時,會觸發(fā)管道的運行。這些觸發(fā)器往往是由源階段中的CI/CD管道工具(https://www.lambdatest.com/blog/27-best-ci-cd-tools/)所設(shè)置的。

2. 構(gòu)建階段:在構(gòu)建到最終用戶應(yīng)用的可運行實例中時,該階段體現(xiàn)了源代碼及其依賴項的組合。同時,Java等內(nèi)置于應(yīng)用的語言也需要在此階段完成編譯。如果需要構(gòu)建Docker鏡像,我們也可以在此階段進行。當(dāng)然,倘若此階段失敗的話,則意味著代碼、或其依賴項中存在著潛在的錯誤。

3. 測試階段:自動化測試會在此階段對代碼及其行為,開展相應(yīng)的驗證。該階段就像一個篩子一樣,能夠防止錯誤到達最終用戶。我們可以按照從冒煙測試到端到端集成測試的順序,劃分出多個子階段。同樣,倘若此階段失敗的話,則會暴露出代碼中的各項錯誤。

4. 部署階段:一旦通過了所有預(yù)定義的測試,我們就擁有了可執(zhí)行的代碼,接著我們便可以進行部署了。產(chǎn)品團隊可以在此基礎(chǔ)上劃分出Beta、Staging、以及面向最終用戶的Production等階段。

值得注意的是,上面提到的階段皆為基本階段。您也可以添加不同的子步驟,以使得 CI/CD過程更加自動化。下面,我們來討論Azure DevOps的CI/CD。

什么是Azure DevOps?

Azure DevOps是Microsoft Azure提供的服務(wù)集合。它通過為團隊提供開發(fā)服務(wù),以支持、規(guī)劃、協(xié)作、構(gòu)建和部署應(yīng)用程序。通過與瀏覽器或IDE(集成開發(fā)環(huán)境)的集成,它為開發(fā)人員提供了如下服務(wù):

  • Azure存儲庫
  • Azure管道
  • Azure看板
  • Azure測試計劃
  • Azure工件

在下文中,我們將使用Azure管道,為.NET項目創(chuàng)建CI/CD管道,并將Azure DevOps 的CI/CD連接到LambdaTest帳戶中,以便將各種錯誤、任務(wù)、故事等推送到Azure DevOps的項目實例中。

什么是Azure管道?

Azure CI/CD管道簡化了應(yīng)用開發(fā)過程中的持續(xù)集成和持續(xù)交付。您可以使用GitHub或本地容器上的現(xiàn)有代碼,從源代碼階段開始構(gòu)建,讓Azure存儲庫維護一個中央存儲庫,讓Azure管道維護給定項目的構(gòu)建和發(fā)布管道。其中,Azure DevOps的CI/CD流程是所有開發(fā)服務(wù)的關(guān)鍵流程。

除了使用Azure DevOps進行持續(xù)集成和持續(xù)部署,這些管道還可用于“構(gòu)建-部署-測試”工作流,以持續(xù)測試(CT)的方式,快速測試那些可擴展性例程中的變更。

Azure管道的優(yōu)點:

在Azure DevOps的CI/CD實踐中,Azure管道可以提供如下優(yōu)勢:

  • 版本控制系統(tǒng):將代碼放入版本控制系統(tǒng),是構(gòu)建Azure CI/CD管道的第一步。您可以在GitHub、Bitbucket、Subversion或任何其他Git存儲庫中管理源代碼。同時,它也支持Team Foundation版本控制(TFVC)系統(tǒng)。
  • 編程語言和應(yīng)用程序類型:開發(fā)者可以在Azure管道中使用包括:Java、Ruby、C、C++、Python、PHP、Go和JavaScript在內(nèi)的不同語言。
  • 部署目標(biāo):具有Azure CI/CD管道的應(yīng)用程序,可以被部署到多個目標(biāo)環(huán)境中。其中包括虛擬機、容器、以及任何本地或云平臺。
  • 定價:雖然它是一個公共的免費項目,但是對于私人項目而言,用戶每個月最多僅可免費運行1800分鐘的管道作業(yè)。

如何構(gòu)建Azure CI/CD管道

若要創(chuàng)建Azure CI/CD管道,請先執(zhí)行如下預(yù)備步驟:

1. 使用Azure中的Azure DevOps Starter資源,來創(chuàng)建一個ASP.NET類型的DevOps示例項目。

2. 檢查由Azure DevOps Starter配置的Azure CI/CD管道。

3. 將DevOps示例項目克隆到系統(tǒng)中。

4. 提交代碼并執(zhí)行CI/CD。

我們稍后會使用LambdaTest與Azure DevOps的CI/CD相集成,去簡化錯誤的跟蹤,并隨時將epic、故事、以及任何任務(wù)推送到相應(yīng)的項目中。

預(yù)備條件

您需要通過一個已激活的Azure帳戶,來創(chuàng)建Azure存儲庫和管道。如果沒有的話,請事先創(chuàng)建一個Microsoft Azure帳戶。同時,為了創(chuàng)建應(yīng)用示例,從鏈接https://visualstudio.microsoft.com/downloads/處下載安裝Visual Studio,并從https://dotnet.microsoft.com/download/archives處下載安裝.NET Core。

使用Azure DevOps Starter創(chuàng)建ASP.NET DevOps項目

Azure DevOps項目簡化了Azure CI/CD管道的設(shè)置。開發(fā)者可以使用現(xiàn)有的代碼、或已創(chuàng)建的應(yīng)用示例,作為新的Azure DevOps項目。在此,我們將按照如下步驟創(chuàng)建一個新的DevOps項目:

  • 從Microsoft Azure門戶處,登錄您的Azure帳戶。
  • 選擇Azure服務(wù)下的 +(即創(chuàng)建資源的按鈕),然后搜索DevOps Starter。

  • 選擇DevOps Starter并單擊Create。

  • 如下圖所示,選擇.NET,然后單擊Next。

  • NET應(yīng)用示例通常由開源的ASP.NET框架、以及跨平臺的ASP.NET Core框架所組成。如果您選擇的是ASP.NET Core框架,那么可以按需切換到添加數(shù)據(jù)庫選項,并在完成后,選擇Next。

  • 您可以將應(yīng)用程序部署到Windows Web App或虛擬機上。其中,Windows Web App是默認的部署目標(biāo),虛擬機則為備選項。完成之后,請單擊Next。

  • 其下一屏提供了項目的名稱、Azure DevOps組織、訂閱和Web應(yīng)用的名稱(該名稱需要在Azure中唯一)。您既可以保持默認值,也可以更改為美國中南部(South Central US)。在此,我們使用了默認值。

  • 您可以通過選擇其他設(shè)置(Additional settings),來更改Web應(yīng)用或數(shù)據(jù)庫的各項參數(shù)。

  • 設(shè)置完成之后,您可以選擇Done。
  • 而在部署完成之后,您可以選擇Go to resource,以核對查看。

  • 至此Azure DevOps的CI/CD項目已完成創(chuàng)建,Azure資源面板將需要幾分鐘才能完成加載。同時,該項目還會創(chuàng)建:
  1. 帶有.NET代碼的存儲庫示例的團隊項目。
  2. Azure中的Azure Web App和Azure SQL 數(shù)據(jù)庫(如果選擇了數(shù)據(jù)庫切換的話)。
  3. 構(gòu)建管道以編譯和測試應(yīng)用。
  4. 發(fā)布管道以部署應(yīng)用。

  • 接著,您可以在ASP.NET Core App上與您的團隊開展協(xié)作,并使用自動化的CI/CD流程,將最新的更改部署到網(wǎng)站上。
  • 在Azure資源的右側(cè)面板中,您可單擊“Browse”按鈕,以查看應(yīng)用。

檢查DevOps項目示例中的CI/CD管道

完成創(chuàng)建后,項目會自動在Azure DevOps組織中配置一個完整的CI/CD管道。當(dāng)然,您也可以對這些管道進行自定義。

在Azure Dashboard的頂部,有Build Pipelines和Release Pipelines兩個選項。在任一選項被點擊之后,它將打開一個帶有管道的新的瀏覽器選項卡。

構(gòu)建管道:

  • 單擊Azure Dashboard上的Build Pipelines。
  • 在新的瀏覽器選項卡被打開后,請從屏幕的右上角選擇Edit。

  • 您可以在此看到構(gòu)建管道中的:從存儲庫中獲取代碼、恢復(fù)依賴項、編譯應(yīng)用、運行測試、以及為部署提供輸出等多項任務(wù)。

  • 由于Azure DevOps可以跟蹤基于構(gòu)建規(guī)范所做的所有更改,并允許您比較不同的更改版本,因此通過選擇在構(gòu)建管道名稱下的History選項卡,您將能夠看到針對構(gòu)建的所有更改的審計跟蹤。

  • 選擇Triggers選項卡,您能看到由Azure DevOps的CI/CD項目自動創(chuàng)建的一個名為“CI trigger”的觸發(fā)器。由于開發(fā)者每次在提交到存儲庫時,都會啟動一個新的構(gòu)建,因此他們可以根據(jù)持續(xù)集成過程中的選擇,按需包含或剔除各種分支。

通過選擇Retention選項卡,您可以添加、查看或刪除相關(guān)策略,以保留或刪除一定數(shù)量的構(gòu)建。

發(fā)布管道:

  • 在左側(cè)的Pipelines部分下方,請選擇Releases。
  • 由于發(fā)布管道會管理Azure DevOps中的部署,因此通過單擊“Edit”,您可以檢查管道。
  • 在發(fā)布管道的名稱下方,您將能夠發(fā)現(xiàn)那些與構(gòu)建管道相同的選項卡。
  • 在Pipeline選項卡下,請點擊Artifacts,然后選擇Drop,以輸出之前檢查過的構(gòu)建管道的工件。

  • 發(fā)布管道帶有一個已啟用的持續(xù)部署的觸發(fā)器。每當(dāng)發(fā)生新的構(gòu)建時,它都會執(zhí)行部署任務(wù)。當(dāng)然,您也可以禁用自動化,以手動的方式執(zhí)行觸發(fā)器。
  • 如下圖所示,您可以通過選擇dev階段,然后單擊頂部的Tasks選項卡,以定義在部署過程中,需要執(zhí)行的所有活動任務(wù)。

  • 在Run on agent的下方,您可以看到五項可選任務(wù):
  1. Azure資源部署 – 它會部署諸如:Azure Web App和Azure SQL數(shù)據(jù)庫等所有Azure資源,以供應(yīng)用程序的使用。
  2. Azure應(yīng)用服務(wù)部署 – 它會將應(yīng)用包部署到網(wǎng)站上。
  3. Azure SQL數(shù)據(jù)庫部署 – 各種有關(guān)SQL的更改會被部署到數(shù)據(jù)庫上。
  4. Visual Studio測試 – 可以在部署后,運行功能測試。
  • 如下圖所示,在左側(cè)面板中,您將會在Pipelines下找到Releases。此處展示了發(fā)布的歷史記錄。

 

  • 通過選擇版本號,您既可以查看到版本的摘要,又可以進一步熟悉諸如:關(guān)聯(lián)的工作項、以及各項測試等菜單。

  • 此外,您還可以在部署期間或之后,通過選擇dev下方的日志,查看到有關(guān)部署的所有實用信息。

克隆DevOps項目示例的存儲庫

  • 在Azure Dashboard上,您可以單擊左側(cè)面板中的項目名稱,以創(chuàng)建一個新的窗口。
  • 在新的窗口中,單擊屏幕右上角的克隆按鈕,能夠復(fù)制存儲庫的URL。

  • 在您的系統(tǒng)上打開Visual Studio,然后單擊右側(cè)位于“Get started”菜單下方的“Continue without code”。
  • 依次單擊IDE上的“View”->“ Team Explorer”選項,并在Explorer窗口中選擇Clone。
  • 指明從Azure門戶處復(fù)制到存儲庫的URL,以及克隆至目標(biāo)存儲庫的文件夾路徑。
  • 通過單擊Clone開始克隆。
  • 在成功克隆代碼之后,您可以在Solutions Explorer上查看整個項目,并按需進行更改。

注意:只要您將更改合并到遠程存儲庫上,就會觸發(fā)構(gòu)建過程。

提交代碼并執(zhí)行CI/CD

  • 通過前面的步驟,我們已經(jīng)在Visual Studio 2019中克隆了相同的存儲庫。而我們所創(chuàng)建的項目示例在Azure DevOps的Organization中有一個Git Repository,它可以在Azure Repos中被查看。
  • 在Visual Studio 2019的solutions explorer中,我們可以順著路徑找到:Application/aspnet-core-dotnet-core/Pages/Index.cshtml。
  • 雙擊并打開該文件,我們定位到“content–body”段,添加一行文字:“This is a test message”。

HTML

  1. 1.<div class="content-body"
  2. 2.<div class="success-text">Success!</div> 
  3. 3.<div class="description line-1">Azure DevOpsProject has been successfully setup</div> 
  4. 4.<div class="description line-2"> Your ASP.NET Core app is up and running on Azure</div> 
  5. 5.<div class="description line-3">This is a test message.</div> 
  6. 6.            <br /> 
  • 右擊Solution Explorer中的Solution,然后單擊Commit..,以簽入代碼。
  • 簡單地留下提交的原因,然后點擊Comment All。
  • 單擊Sync,以將代碼的更改與服務(wù)器同步。
  • 單擊Push,將更改從本地存儲庫推送到遠程存儲庫上。
  • 在瀏覽器中,依次導(dǎo)航至Pipelines > Builds,以產(chǎn)生一個構(gòu)建(由于代碼發(fā)生了更改,因此該構(gòu)建會自動觸發(fā))。
  • 在構(gòu)建完成后,即可發(fā)布。
  • 在發(fā)布完成后,請?zhí)D(zhuǎn)到Azure DevOps的Project Dashboard。在右側(cè)面板中,請單擊Browse,以查看正處于更新狀態(tài)的應(yīng)用。

將Azure DevOps與LambdaTest帳戶集成,以進行錯誤跟蹤

在熟悉了Azure DevOps的持續(xù)集成和持續(xù)部署的基礎(chǔ)上,讓我們將Azure CI/CD管道與LambdaTest相集成,以提供便捷的瀏覽器實時測試。此類測試對于跟蹤源自LambdaTest的問題,并將其顯示在Azure DevOps項目的CI/CD Dashboard上是非常實用的。首先,我們來看如何將LambdaTest與Azure DevOps相集成:

  • 登錄LambdaTest帳戶。
  • 依次點選Integrations > Azure DevOps,以將Azure DevOps與您的LambdaTest帳戶相集成。
  • 請?zhí)D(zhuǎn)到Real Time Testing選項。
  • 在Project details的右側(cè)面板中,請找到導(dǎo)航按鈕,右擊并復(fù)制鏈接的地址,然后將其粘貼到LambdaTest門戶上的URL字段中。

  • 請從給定的選項中選擇所需的瀏覽器名稱與版本、操作系統(tǒng)、及其分辨率,以完成對于VM(虛擬機)的配置。在此,我們將使用默認配置。

  • 單擊“Start”以啟動VM。如果看到帶有錯誤報告選項的網(wǎng)頁,您可以通過左側(cè)的Bug圖標(biāo),獲取錯誤的屏幕截圖。

  • 在截屏之后,您可以使用內(nèi)置的圖像編輯器,添加問題或任務(wù)。而在圈出錯誤之后,您便可以將其報告為錯誤了。

  • 單擊Mark as Bug,您將獲得與錯誤相關(guān)的所有詳細信息。

  •  一旦你點擊了Create Issue按鈕,你就能在頂部收到一條告知您“錯誤已成功標(biāo)記”的信息。同時,該錯誤也會被推送到項目中。
  • 在登錄到Azure門戶,并轉(zhuǎn)至Azure DevOps項目中后,您將會在Boards下方的左側(cè)面板中的Work Items里看到該問題。
  • 通過點擊問題的title,您可以查看到LambdaTest針對該Work Item提供的有關(guān)測試環(huán)境的詳細信息和屏幕截圖。
  • 當(dāng)然,您也可以在Azure DevOps門戶上,通過repro steps、System info、以及所有其他的詳細信息,來進一步查看。

  • 上圖右側(cè)提供了Development和Deployment兩種模式。在Development下,您可以創(chuàng)建一個新的分支,或者在解決錯誤之后,發(fā)送拉取請求、以及提交代碼。

  • 在Deployment下,您可以轉(zhuǎn)到相關(guān)的錯誤版本,以進一步查看。

通過創(chuàng)建新的分支,來處理LambdaTest報告的錯誤

  • 在單擊創(chuàng)建分支之后,您需要在Development下,提供分支的名稱,并選擇從LambdaTest處報告錯誤。

  • 在通過創(chuàng)建新的分支處理完錯誤之后,您可以創(chuàng)建一個合并請求。

通過提交/拉取請求,處理LambdaTest報告的錯誤

  • 在單擊提交/拉取請求后,您必須注明鏈接的類型、提交的ID、以及相關(guān)的注釋。

  • 輸入提交ID后,您便可以輕松地完成特定鏈接的提交。當(dāng)然,您也可以將鏈接的類型更改為拉取請求。

除了上述通過LambdaTest報告的錯誤解決問題的方法,您也可以將此類錯誤分派給開發(fā)人員或團隊,以便他們采用敏捷的方法予以處理。

結(jié)論

在企業(yè)開發(fā)服務(wù)的過程中,Azure DevOps能夠?qū)崿F(xiàn)更智能的規(guī)劃、更快的協(xié)作、以及更好的交付。自動化管道的設(shè)置也能夠以簡潔的方式,為應(yīng)用提供測試、構(gòu)建和部署。通過上述介紹與實踐,我們成功地實現(xiàn)了將LambdaTest與Azure DevOps的CI/CD項目相集成,并了解了如何使用ASP.NET Core類型的Azure DevOps項目示例,去配置管道的基本方法。

原文標(biāo)題:How To Build a CI/CD Pipeline inAzure DevOps,作者:Harshit Paul

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2022-02-22 09:00:00

軟件開發(fā)CI/CD 管道工具

2023-02-19 15:28:39

CI/CD 管道集成開發(fā)

2018-08-24 09:00:00

DevOps持續(xù)集成連續(xù)部署

2023-01-30 15:55:08

2021-07-02 16:30:01

CICDDevOps

2023-05-04 16:03:50

KubernetesCI/CD集成

2022-05-19 09:00:00

安全CI/CD工具

2020-12-15 16:13:21

DevSecOpsCICD

2023-05-24 16:20:39

DevOpsCI/CD 管道軟件開發(fā)

2023-04-18 08:17:11

GitLab持續(xù)集成

2023-05-09 16:20:54

藍綠部署CI/CD 管道自動化部署

2024-11-06 14:40:18

2019-07-25 10:31:55

AWSDevOps架構(gòu)

2021-03-31 09:00:00

管道集成工具

2021-01-21 06:06:30

Jenkins分支管道CI

2023-06-26 14:03:31

2020-06-05 07:20:41

測試自動化環(huán)境

2021-09-26 09:26:46

開發(fā)安全CICD管道

2020-10-21 14:10:28

工具測試開發(fā)

2021-07-28 13:23:32

CICD管道安全漏洞
點贊
收藏

51CTO技術(shù)棧公眾號