真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

了解CI/CD流水線

自動(dòng)化流水線在CI/CD(持續(xù)集成/持續(xù)交付或持續(xù)部署)的實(shí)踐中發(fā)揮著核心作用。本文將對(duì)什么是CI/CD流水線、如何構(gòu)建CI/CD流水線進(jìn)行討論。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、花都網(wǎng)站維護(hù)、網(wǎng)站推廣。

*持續(xù)集成:Continuous Integration

*持續(xù)交付:Continuous Delivery

*持續(xù)部署:Continuous Deployment

01.什么是CI/CD流水線?

CI/CD通過(guò)頻繁對(duì)更新的代碼進(jìn)行檢查與嚴(yán)格測(cè)試并及時(shí)處理反饋,從而在保證軟件質(zhì)量的前提下縮短交付所需時(shí)間。一般來(lái)說(shuō),可以通過(guò)不同的工具實(shí)現(xiàn)分階段的CI/CD,從而實(shí)現(xiàn)整體的工作流,但該流程極易被不可避免的人工干預(yù)打斷。因此,建立CI/CD流水線是很有必要的。

CI/CD流水線是指將開(kāi)發(fā)直至部署的整體生態(tài)鏈的每一個(gè)步驟都通過(guò)流水線串聯(lián)起來(lái)并代碼化,使得開(kāi)發(fā)流程能夠通過(guò)自動(dòng)化流水線的形式變得更為高效、快速:只需將本地代碼發(fā)布到測(cè)試環(huán)境,就可根據(jù)流水線走向判斷是否出現(xiàn)Bug并進(jìn)行修正。

自動(dòng)化的CI/CD流水線可以加快開(kāi)發(fā)流程并加速各方反饋循環(huán),確保每個(gè)步驟的執(zhí)行始終如一,使軟件自動(dòng)、快速、持續(xù)的交付更加輕松。

02.如何構(gòu)建CI/CD流水線

CI/CD流水線的最終形態(tài)取決于實(shí)際的產(chǎn)品類(lèi)型及要求,但所有流水線使用的模式大致相同。

▲CI/CD流水線模式

在CI/CD流水線中,結(jié)果會(huì)被自動(dòng)記錄并反饋通知給開(kāi)發(fā)人員,使其能夠按需對(duì)工作流進(jìn)行配置,以便快速重啟因故障而停止的進(jìn)程,并通過(guò)測(cè)試策略配置(只有前面的測(cè)試成功通過(guò)后,才會(huì)運(yùn)行更復(fù)雜的測(cè)試)來(lái)更有效地利用服務(wù)器資源。完成自動(dòng)化測(cè)試后,軟件通常會(huì)被部署在一系列的暫存環(huán)境中,一些被用于最終的功能測(cè)試,另一些被用于培訓(xùn)和客戶演示等。

讓我們更詳細(xì)地了解一下每個(gè)階段的注意事項(xiàng)。

03.標(biāo)志和分支

代碼提交是CI/CD流水線的第一步,指將整個(gè)代碼庫(kù)放入版本控制系統(tǒng)(Version Control System,VCS)中,如Git、Mercurial或Perforce,開(kāi)發(fā)團(tuán)隊(duì)的每個(gè)成員都應(yīng)養(yǎng)成即刻或頻繁提交自己代碼的習(xí)慣。

即刻或頻繁提交代碼是CI/CD流水線中的重要實(shí)踐步驟,但對(duì)于周期較長(zhǎng)的大型開(kāi)發(fā)項(xiàng)目來(lái)說(shuō),這其實(shí)是一柄雙刃劍:雖然可以快速得到新增代碼的反饋、減少影響進(jìn)度的問(wèn)題出現(xiàn)可能性,但由于流水線的末端是客戶,所以必須采取手段以避免客戶接觸到半成品功能或共享工作狀態(tài)。

功能標(biāo)志和分支可以解決這一問(wèn)題。開(kāi)發(fā)人員可以設(shè)置功能標(biāo)志以區(qū)分代碼可見(jiàn)環(huán)境,并指定僅團(tuán)隊(duì)內(nèi)部可見(jiàn)。功能分支指從主干中剝離出共享分支進(jìn)行單獨(dú)的功能開(kāi)發(fā),最終還是會(huì)觸發(fā)CI/CD流水線,這既能滿足開(kāi)發(fā)需求,又可享受CI/CD帶來(lái)的便利。

04.構(gòu)建和測(cè)試

在完成代碼提交并完成實(shí)例執(zhí)行后,下一個(gè)階段便是構(gòu)建和測(cè)試。如果有現(xiàn)成的自動(dòng)化單元測(cè)試,通常會(huì)在此之前進(jìn)行靜態(tài)分析檢查。

具體使用的構(gòu)建工具(如Ant、Maven)及構(gòu)建步驟取決于項(xiàng)目所使用的語(yǔ)言及框架。為避免因缺少依賴項(xiàng)而出現(xiàn)經(jīng)典的“只能在我的電腦上工作”的情況,可以使用專(zhuān)用的構(gòu)建服務(wù)器,通過(guò)將生成的安裝包、二進(jìn)制文件和一些編譯中間件部署到測(cè)試環(huán)境,并與流水線結(jié)合,即可進(jìn)行更高級(jí)別的自動(dòng)化測(cè)試:?jiǎn)卧獪y(cè)試、集成測(cè)試、端到端測(cè)試甚至非功能測(cè)試都可同步運(yùn)行。這不僅能夠縮短流水線耗時(shí),還能實(shí)現(xiàn)更快的反饋循環(huán)。

05.虛擬機(jī)

想要保證自動(dòng)化測(cè)試的結(jié)果準(zhǔn)確可靠,必須確保測(cè)試流程的穩(wěn)定性與一致性。

理想情況下,測(cè)試環(huán)境的配置應(yīng)盡可能接近實(shí)際運(yùn)行環(huán)境,并在測(cè)試運(yùn)行時(shí)重置相關(guān)環(huán)境,以避免環(huán)境不一致導(dǎo)致測(cè)試結(jié)果有誤。長(zhǎng)期以來(lái),虛擬機(jī) (Virtual Machine,VM) 一直是運(yùn)行測(cè)試環(huán)境的常用選擇,常見(jiàn)的虛擬機(jī)有VMware、VirtualBox等。虛擬機(jī)既能模擬出與當(dāng)前操作系統(tǒng)不同的運(yùn)行環(huán)境,又能避免破壞性指令導(dǎo)致的系統(tǒng)受損。有些虛擬機(jī)甚至還具備快照功能,可以快速回到破損前狀態(tài)。

然而,構(gòu)建新的虛擬機(jī)需要經(jīng)歷依賴項(xiàng)的配置過(guò)程,細(xì)節(jié)極易被遺漏,從而影響構(gòu)建過(guò)程。只要將代碼打包到容器即可避免疏漏產(chǎn)生。容器具備高可移植性,是應(yīng)用程序?qū)拥某橄?,指將代碼和依賴項(xiàng)打包到一起,更易于部署到不同的環(huán)境中,有助于確保流水線的高效運(yùn)行。

06.部署

當(dāng)代碼來(lái)到CI/CD流水線的部署步驟時(shí),開(kāi)發(fā)人員可以選擇手動(dòng)部署或自動(dòng)部署。手動(dòng)部署(持續(xù)交付)可以控制新特性或新功能的發(fā)布時(shí)間,部署過(guò)程涉及用戶的停機(jī)時(shí)間。而使用完全自動(dòng)化的持續(xù)部署,新增代碼更改只需通過(guò)CI/CD流水線先前的所有階段,便會(huì)直接被部署。這意味著,之前因開(kāi)發(fā)人員數(shù)量、提交頻率等因素受限的部署次數(shù)可以達(dá)到之前難以想象的每天數(shù)十次甚至上百次。

07.總結(jié)

CI/CD獲得認(rèn)可的根本原因在于其實(shí)現(xiàn)了測(cè)試階段的左移,而構(gòu)建CI/CD流水線則可更好地將其付諸實(shí)踐。根據(jù)實(shí)際的產(chǎn)品和框架來(lái)構(gòu)建合適的CI/CD工作流,并選擇最能滿足配置需求的CI/CD平臺(tái),對(duì)CI/CD工作流的實(shí)現(xiàn)大有助益。

SkyEye天目全數(shù)字實(shí)時(shí)仿真軟件,通過(guò)虛擬化技術(shù)仿真芯片,可以在PC機(jī)上運(yùn)行嵌入式目標(biāo)程序,減少搭建硬件測(cè)試環(huán)境的成本,使測(cè)試階段左移,從而縮短嵌入式軟件交付的開(kāi)發(fā)周期。其內(nèi)置的命令行工具可以控制仿真的運(yùn)行與停止,與CI/CD平臺(tái)有著良好的可集成性。此外,SkyEye還提供豐富的自動(dòng)化測(cè)試函數(shù)庫(kù),提供內(nèi)存和全局變量的查看及修改等功能,并在自動(dòng)化測(cè)試完成后生成自動(dòng)化測(cè)試報(bào)告,是嵌入式領(lǐng)域CI/CD實(shí)踐的最佳拍檔。

參考鏈接

https://www.jetbrains.com/teamcity/ci-cd-guide/ci-cd-pipeline/

原文鏈接:https://mp.weixin.qq.com/s/x5VOBZF0plfJyyR5zpoWkw


網(wǎng)站標(biāo)題:了解CI/CD流水線
轉(zhuǎn)載來(lái)于:http://weahome.cn/article/dscgiee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部