掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
由Microsoft Azure提供的Azure DevOps是自動(dòng)化CI/CD流程領(lǐng)域的領(lǐng)先工具。在自動(dòng)化構(gòu)建和代碼項(xiàng)目中,開(kāi)發(fā)人員可以使用Azure管道將持續(xù)集成(CI)和持續(xù)交付(CD)相結(jié)合,通過(guò)一致性的測(cè)試,將構(gòu)建好的代碼發(fā)送至目標(biāo)環(huán)境。

創(chuàng)新互聯(lián)主營(yíng)海門網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件定制開(kāi)發(fā),海門h5小程序定制開(kāi)發(fā)搭建,海門網(wǎng)站營(yíng)銷推廣歡迎海門等地區(qū)企業(yè)咨詢
在本文中,我們將共同研究如何配置Azure CI/CD管道,并將其集成到LambdaTest Azure DevOps,以進(jìn)行錯(cuò)誤跟蹤。
CI/CD管道往往被用于自動(dòng)化的持續(xù)集成和持續(xù)部署過(guò)程中。其管道可以通過(guò)構(gòu)建、測(cè)試、合并和部署等階段,來(lái)促進(jìn)軟件的整個(gè)交付過(guò)程。簡(jiǎn)而言之,作為可運(yùn)行的步驟規(guī)范,管道能夠通過(guò)節(jié)省開(kāi)發(fā)人員的手動(dòng)工作量與時(shí)間,高效地交付出新的軟件版本。
1. 源階段:在大多數(shù)情況下,開(kāi)發(fā)人員在嘗試對(duì)中央存儲(chǔ)庫(kù)進(jìn)行更改時(shí),會(huì)觸發(fā)管道的運(yùn)行。這些觸發(fā)器往往是由源階段中的CI/CD管道工具(https://www.lambdatest.com/blog/27-best-ci-cd-tools/)所設(shè)置的。
2. 構(gòu)建階段:在構(gòu)建到最終用戶應(yīng)用的可運(yùn)行實(shí)例中時(shí),該階段體現(xiàn)了源代碼及其依賴項(xiàng)的組合。同時(shí),Java等內(nèi)置于應(yīng)用的語(yǔ)言也需要在此階段完成編譯。如果需要構(gòu)建Docker鏡像,我們也可以在此階段進(jìn)行。當(dāng)然,倘若此階段失敗的話,則意味著代碼、或其依賴項(xiàng)中存在著潛在的錯(cuò)誤。
3. 測(cè)試階段:自動(dòng)化測(cè)試會(huì)在此階段對(duì)代碼及其行為,開(kāi)展相應(yīng)的驗(yàn)證。該階段就像一個(gè)篩子一樣,能夠防止錯(cuò)誤到達(dá)最終用戶。我們可以按照從冒煙測(cè)試到端到端集成測(cè)試的順序,劃分出多個(gè)子階段。同樣,倘若此階段失敗的話,則會(huì)暴露出代碼中的各項(xiàng)錯(cuò)誤。
4. 部署階段:一旦通過(guò)了所有預(yù)定義的測(cè)試,我們就擁有了可執(zhí)行的代碼,接著我們便可以進(jìn)行部署了。產(chǎn)品團(tuán)隊(duì)可以在此基礎(chǔ)上劃分出Beta、Staging、以及面向最終用戶的Production等階段。
值得注意的是,上面提到的階段皆為基本階段。您也可以添加不同的子步驟,以使得 CI/CD過(guò)程更加自動(dòng)化。下面,我們來(lái)討論Azure DevOps的CI/CD。
Azure DevOps是Microsoft Azure提供的服務(wù)集合。它通過(guò)為團(tuán)隊(duì)提供開(kāi)發(fā)服務(wù),以支持、規(guī)劃、協(xié)作、構(gòu)建和部署應(yīng)用程序。通過(guò)與瀏覽器或IDE(集成開(kāi)發(fā)環(huán)境)的集成,它為開(kāi)發(fā)人員提供了如下服務(wù):
在下文中,我們將使用Azure管道,為.NET項(xiàng)目創(chuàng)建CI/CD管道,并將Azure DevOps 的CI/CD連接到LambdaTest帳戶中,以便將各種錯(cuò)誤、任務(wù)、故事等推送到Azure DevOps的項(xiàng)目實(shí)例中。
Azure CI/CD管道簡(jiǎn)化了應(yīng)用開(kāi)發(fā)過(guò)程中的持續(xù)集成和持續(xù)交付。您可以使用GitHub或本地容器上的現(xiàn)有代碼,從源代碼階段開(kāi)始構(gòu)建,讓Azure存儲(chǔ)庫(kù)維護(hù)一個(gè)中央存儲(chǔ)庫(kù),讓Azure管道維護(hù)給定項(xiàng)目的構(gòu)建和發(fā)布管道。其中,Azure DevOps的CI/CD流程是所有開(kāi)發(fā)服務(wù)的關(guān)鍵流程。
除了使用Azure DevOps進(jìn)行持續(xù)集成和持續(xù)部署,這些管道還可用于“構(gòu)建-部署-測(cè)試”工作流,以持續(xù)測(cè)試(CT)的方式,快速測(cè)試那些可擴(kuò)展性例程中的變更。
在Azure DevOps的CI/CD實(shí)踐中,Azure管道可以提供如下優(yōu)勢(shì):
若要?jiǎng)?chuàng)建Azure CI/CD管道,請(qǐng)先執(zhí)行如下預(yù)備步驟:
1. 使用Azure中的Azure DevOps Starter資源,來(lái)創(chuàng)建一個(gè)ASP.NET類型的DevOps示例項(xiàng)目。
2. 檢查由Azure DevOps Starter配置的Azure CI/CD管道。
3. 將DevOps示例項(xiàng)目克隆到系統(tǒng)中。
4. 提交代碼并執(zhí)行CI/CD。
我們稍后會(huì)使用LambdaTest與Azure DevOps的CI/CD相集成,去簡(jiǎn)化錯(cuò)誤的跟蹤,并隨時(shí)將epic、故事、以及任何任務(wù)推送到相應(yīng)的項(xiàng)目中。
您需要通過(guò)一個(gè)已激活的Azure帳戶,來(lái)創(chuàng)建Azure存儲(chǔ)庫(kù)和管道。如果沒(méi)有的話,請(qǐng)事先創(chuàng)建一個(gè)Microsoft Azure帳戶。同時(shí),為了創(chuàng)建應(yīng)用示例,從鏈接https://visualstudio.microsoft.com/downloads/處下載安裝Visual Studio,并從https://dotnet.microsoft.com/download/archives處下載安裝.NET Core。
Azure DevOps項(xiàng)目簡(jiǎn)化了Azure CI/CD管道的設(shè)置。開(kāi)發(fā)者可以使用現(xiàn)有的代碼、或已創(chuàng)建的應(yīng)用示例,作為新的Azure DevOps項(xiàng)目。在此,我們將按照如下步驟創(chuàng)建一個(gè)新的DevOps項(xiàng)目:
完成創(chuàng)建后,項(xiàng)目會(huì)自動(dòng)在Azure DevOps組織中配置一個(gè)完整的CI/CD管道。當(dāng)然,您也可以對(duì)這些管道進(jìn)行自定義。
在Azure Dashboard的頂部,有Build Pipelines和Release Pipelines兩個(gè)選項(xiàng)。在任一選項(xiàng)被點(diǎn)擊之后,它將打開(kāi)一個(gè)帶有管道的新的瀏覽器選項(xiàng)卡。
通過(guò)選擇Retention選項(xiàng)卡,您可以添加、查看或刪除相關(guān)策略,以保留或刪除一定數(shù)量的構(gòu)建。
注意:只要您將更改合并到遠(yuǎn)程存儲(chǔ)庫(kù)上,就會(huì)觸發(fā)構(gòu)建過(guò)程。
HTML
- 1.
- 2.
Success!- 3.
Azure DevOpsProject has been successfully setup- 4.
Your ASP.NET Core app is up and running on Azure- 5.
This is a test message.- 6.
- 右擊Solution Explorer中的Solution,然后單擊Commit..,以簽入代碼。
- 簡(jiǎn)單地留下提交的原因,然后點(diǎn)擊Comment All。
- 單擊Sync,以將代碼的更改與服務(wù)器同步。
- 單擊Push,將更改從本地存儲(chǔ)庫(kù)推送到遠(yuǎn)程存儲(chǔ)庫(kù)上。
- 在瀏覽器中,依次導(dǎo)航至Pipelines > Builds,以產(chǎn)生一個(gè)構(gòu)建(由于代碼發(fā)生了更改,因此該構(gòu)建會(huì)自動(dòng)觸發(fā))。
- 在構(gòu)建完成后,即可發(fā)布。
- 在發(fā)布完成后,請(qǐng)?zhí)D(zhuǎn)到Azure DevOps的Project Dashboard。在右側(cè)面板中,請(qǐng)單擊Browse,以查看正處于更新?tīng)顟B(tài)的應(yīng)用。
將Azure DevOps與LambdaTest帳戶集成,以進(jìn)行錯(cuò)誤跟蹤
在熟悉了Azure DevOps的持續(xù)集成和持續(xù)部署的基礎(chǔ)上,讓我們將Azure CI/CD管道與LambdaTest相集成,以提供便捷的瀏覽器實(shí)時(shí)測(cè)試。此類測(cè)試對(duì)于跟蹤源自LambdaTest的問(wèn)題,并將其顯示在Azure DevOps項(xiàng)目的CI/CD Dashboard上是非常實(shí)用的。首先,我們來(lái)看如何將LambdaTest與Azure DevOps相集成:
- 登錄LambdaTest帳戶。
- 依次點(diǎn)選Integrations > Azure DevOps,以將Azure DevOps與您的LambdaTest帳戶相集成。
- 請(qǐng)?zhí)D(zhuǎn)到Real Time Testing選項(xiàng)。
- 在Project details的右側(cè)面板中,請(qǐng)找到導(dǎo)航按鈕,右擊并復(fù)制鏈接的地址,然后將其粘貼到LambdaTest門戶上的URL字段中。
- 請(qǐng)從給定的選項(xiàng)中選擇所需的瀏覽器名稱與版本、操作系統(tǒng)、及其分辨率,以完成對(duì)于VM(虛擬機(jī))的配置。在此,我們將使用默認(rèn)配置。
- 單擊“Start”以啟動(dòng)VM。如果看到帶有錯(cuò)誤報(bào)告選項(xiàng)的網(wǎng)頁(yè),您可以通過(guò)左側(cè)的Bug圖標(biāo),獲取錯(cuò)誤的屏幕截圖。
- 在截屏之后,您可以使用內(nèi)置的圖像編輯器,添加問(wèn)題或任務(wù)。而在圈出錯(cuò)誤之后,您便可以將其報(bào)告為錯(cuò)誤了。
- 單擊Mark as Bug,您將獲得與錯(cuò)誤相關(guān)的所有詳細(xì)信息。
- 一旦你點(diǎn)擊了Create Issue按鈕,你就能在頂部收到一條告知您“錯(cuò)誤已成功標(biāo)記”的信息。同時(shí),該錯(cuò)誤也會(huì)被推送到項(xiàng)目中。
- 在登錄到Azure門戶,并轉(zhuǎn)至Azure DevOps項(xiàng)目中后,您將會(huì)在Boards下方的左側(cè)面板中的Work Items里看到該問(wèn)題。
- 通過(guò)點(diǎn)擊問(wèn)題的title,您可以查看到LambdaTest針對(duì)該Work Item提供的有關(guān)測(cè)試環(huán)境的詳細(xì)信息和屏幕截圖。
- 當(dāng)然,您也可以在Azure DevOps門戶上,通過(guò)repro steps、System info、以及所有其他的詳細(xì)信息,來(lái)進(jìn)一步查看。
- 上圖右側(cè)提供了Development和Deployment兩種模式。在Development下,您可以創(chuàng)建一個(gè)新的分支,或者在解決錯(cuò)誤之后,發(fā)送拉取請(qǐng)求、以及提交代碼。
- 在Deployment下,您可以轉(zhuǎn)到相關(guān)的錯(cuò)誤版本,以進(jìn)一步查看。
通過(guò)創(chuàng)建新的分支,來(lái)處理LambdaTest報(bào)告的錯(cuò)誤
- 在單擊創(chuàng)建分支之后,您需要在Development下,提供分支的名稱,并選擇從LambdaTest處報(bào)告錯(cuò)誤。
- 在通過(guò)創(chuàng)建新的分支處理完錯(cuò)誤之后,您可以創(chuàng)建一個(gè)合并請(qǐng)求。
通過(guò)提交/拉取請(qǐng)求,處理LambdaTest報(bào)告的錯(cuò)誤
- 在單擊提交/拉取請(qǐng)求后,您必須注明鏈接的類型、提交的ID、以及相關(guān)的注釋。
- 輸入提交ID后,您便可以輕松地完成特定鏈接的提交。當(dāng)然,您也可以將鏈接的類型更改為拉取請(qǐng)求。
除了上述通過(guò)LambdaTest報(bào)告的錯(cuò)誤解決問(wèn)題的方法,您也可以將此類錯(cuò)誤分派給開(kāi)發(fā)人員或團(tuán)隊(duì),以便他們采用敏捷的方法予以處理。
結(jié)論
在企業(yè)開(kāi)發(fā)服務(wù)的過(guò)程中,Azure DevOps能夠?qū)崿F(xiàn)更智能的規(guī)劃、更快的協(xié)作、以及更好的交付。自動(dòng)化管道的設(shè)置也能夠以簡(jiǎn)潔的方式,為應(yīng)用提供測(cè)試、構(gòu)建和部署。通過(guò)上述介紹與實(shí)踐,我們成功地實(shí)現(xiàn)了將LambdaTest與Azure DevOps的CI/CD項(xiàng)目相集成,并了解了如何使用ASP.NET Core類型的Azure DevOps項(xiàng)目示例,去配置管道的基本方法。
分享文章:如何在AzureDevOps中構(gòu)建CI/CD管道
分享鏈接:http://uogjgqi.cn/article/ccdjgoe.html掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流