一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

持續(xù)集成(CI)

 軟件測(cè)試test 2020-10-10

持續(xù)集成(CI)是一種軟件工程實(shí)踐,其中頻繁且獨(dú)立的更改會(huì)在添加到較大的代碼庫中時(shí)立即進(jìn)行測(cè)試并報(bào)告。

CI旨在提供快速反饋,以便在將缺陷引入代碼庫時(shí),盡快對(duì)其進(jìn)行識(shí)別和糾正。

CI起源于 極限編程 范式,它是敏捷方法的子集,但原理可以應(yīng)用于任何迭代編程模型。傳統(tǒng)的開發(fā)方法(例如 瀑布模型) 也可以在構(gòu)建階段受益于CI方法的使用。持續(xù)集成通常與持續(xù)交付配合使用,對(duì)于CI / CD,將可執(zhí)行代碼交付生產(chǎn)的步驟迅速且自動(dòng)化。





CI常見做法


根據(jù)持續(xù)集成:提高軟件質(zhì)量和降低風(fēng)險(xiǎn)的合著者Paul Duvall所說 ,CI的最佳實(shí)踐包括:

      • 頻繁的代碼提交;

      • 開發(fā)人員測(cè)試分類;

      • 專用的集成構(gòu)建機(jī)器;

      • 持續(xù)的反饋機(jī)制;

      • 分期構(gòu)造

CI的發(fā)布可能以任意頻率發(fā)生,這取決于運(yùn)行它的組織和手頭的項(xiàng)目。通常,采用CI的組織比以前的軟件開發(fā)過程更頻繁地發(fā)布。每個(gè)重大更改都會(huì)啟動(dòng)構(gòu)建。開發(fā)團(tuán)隊(duì)采用CI的原因很多,其中包括不斷收到有關(guān)軟件狀態(tài)的反饋。CI在開發(fā)的早期就發(fā)現(xiàn)了缺陷,與軟件開發(fā)生命周期的后期相比,它使破壞性更小,更簡(jiǎn)單,更容易解決。

開發(fā)團(tuán)隊(duì)可以在CI設(shè)置中使用自動(dòng)化功能來整合代碼集成和測(cè)試,與手動(dòng)執(zhí)行這些任務(wù)相比,它可以減少查找錯(cuò)誤的時(shí)間并提供更快的反饋。自動(dòng)化工具可幫助團(tuán)隊(duì)在CI流程中執(zhí)行常規(guī)測(cè)試,例如單元測(cè)試,應(yīng)用程序編程接口(API)和功能測(cè)試。單元測(cè)試檢查最小的應(yīng)用程序組件。API測(cè)試評(píng)估API是否可以在其預(yù)期的請(qǐng)求和響應(yīng)負(fù)載下可靠地執(zhí)行。功能測(cè)試通常會(huì)評(píng)估較大部分的源代碼,以模擬用戶工作流程或功能。借助完全的CI自動(dòng)化,腳本或集成引擎可以通過測(cè)試和構(gòu)建來管理新代碼的移動(dòng)。

這種自動(dòng)化方法通常是CI / CD管道和DevOps方法的組成部分。CD充當(dāng)CI的擴(kuò)展,而不是替代。CI專注于開發(fā)周期的構(gòu)建和代碼測(cè)試部分,而CD包括部署測(cè)試和配置自動(dòng)化。在CD中,開發(fā)團(tuán)隊(duì)可以在短周期內(nèi)生產(chǎn)和發(fā)布軟件。持續(xù)部署是一個(gè)更高級(jí)的步驟,其中代碼自動(dòng)發(fā)布到生產(chǎn)環(huán)境中,供最終用戶使用。





CI的好處


將CI納入開發(fā)流程時(shí),開發(fā)團(tuán)隊(duì)可以為組織帶來有價(jià)值的收益。

與一次瀑布之類的其他開發(fā)方法相比,與一次集成更少的代碼相比,CI可以更短,更少破壞性的代碼集成。同樣,還原的變更具有較小的破壞性,因?yàn)閮H隔離的變更會(huì)立即消失。

錯(cuò)誤檢測(cè)也更容易,更快捷,因?yàn)槿绻霈F(xiàn)錯(cuò)誤,則很可能在最后一批集成代碼中。隨著開發(fā)人員不斷添加代碼庫,這兩個(gè)好處都是提高代碼可見性的結(jié)果。

持續(xù)集成還可實(shí)現(xiàn)對(duì)變更的持續(xù)反饋,從而可以隨著時(shí)間的推移改進(jìn)產(chǎn)品。





CI工具


開發(fā)團(tuán)隊(duì)使用CI軟件工具來自動(dòng)化部分應(yīng)用程序構(gòu)建并構(gòu)建文檔跟蹤。以下是企業(yè)IT商店中常見的CI管道自動(dòng)化工具的示例。CI管道中存在許多其他工具,例如版本控制,測(cè)試,構(gòu)建和工件存儲(chǔ),這些工具太多了,在此不再贅述。

Jenkins是一個(gè)開源CI自動(dòng)化服務(wù)器。詹金斯(Jenkins)可以分發(fā)測(cè)試并在眾多機(jī)器上進(jìn)行構(gòu)建。插件擴(kuò)展了Jenkins的功能,例如用于自動(dòng)化單元測(cè)試和測(cè)試報(bào)告的功能。開發(fā)人員可以通過特定的URL,在版本控制系統(tǒng)中或預(yù)先計(jì)劃的順序系統(tǒng)中進(jìn)行提交來創(chuàng)建項(xiàng)目構(gòu)建。一旦測(cè)試了系統(tǒng),Jenkins還支持使用CD部署代碼的功能。CloudBees 支持在企業(yè)級(jí)使用Jenkins。

開源GitLab存儲(chǔ)庫和平臺(tái)支持CI / CD。GitLab可以在多臺(tái)機(jī)器上運(yùn)行單元和集成測(cè)試,并且可以拆分構(gòu)建以在多臺(tái)機(jī)器上工作,以減少項(xiàng)目執(zhí)行時(shí)間。該軟件還支持將CD手動(dòng)部署到登臺(tái)環(huán)境和生產(chǎn)環(huán)境。GitLab還支持與Atlassian Jira,GitHub和Jenkins之類的工具集成。

JetBrains TeamCity是用于CI / CD的集成和管理服務(wù)器。利用TeamCity,開發(fā)人員可以在將更改提交到代碼庫之前測(cè)試代碼。如果測(cè)試失敗,TeamCity將發(fā)送通知。TeamCity具有Build Grids,使開發(fā)人員可以針對(duì)不同的平臺(tái)和環(huán)境運(yùn)行多個(gè)測(cè)試和構(gòu)建。TeamCity包括對(duì)Docker,Jira和其他程序的支持。


    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产成人午夜福利片片| 超碰在线播放国产精品| 日韩一区二区三区嘿嘿| 国产又大又黄又粗的黄色| 日本一二三区不卡免费| 欧美日韩成人在线一区| 在线免费观看一二区视频| 东京热男人的天堂社区| 成年男女午夜久久久精品| 狠狠干狠狠操亚洲综合| 亚洲成人久久精品国产| 日韩av亚洲一区二区三区| 精品日韩av一区二区三区| 国产不卡免费高清视频| 草草夜色精品国产噜噜竹菊| 亚洲天堂有码中文字幕视频| 成人精品国产亚洲av久久| 国产在线不卡中文字幕| 亚洲第一视频少妇人妻系列| 不卡中文字幕在线免费看| 久久精品亚洲精品国产欧美| 激情内射亚洲一区二区三区| 亚洲高清中文字幕一区二区三区 | 久久香蕉综合网精品视频| 国产一级一片内射视频在线| 国产午夜精品在线免费看| 精品推荐久久久国产av| 亚洲综合天堂一二三区| 成人午夜激情免费在线| 国产又粗又长又大的视频| 99久久精品视频一区二区| 亚洲一区二区三区在线免费| 精品人妻av区波多野结依| 大伊香蕉一区二区三区| 国产精品香蕉免费手机视频| 久久99爱爱视频视频| 国产一级内片内射免费看| 日韩精品视频香蕉视频| 欧美三级大黄片免费看| 国产精品免费自拍视频| 2019年国产最新视频|