版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 持續(xù)集成的應(yīng)用客戶第一 | 陽光溝通 | 團(tuán)隊(duì)協(xié)作 | 擁抱變化 | 學(xué)習(xí)成長持續(xù)集成目的持續(xù)集成流程、作用及原則持續(xù)集成工具使用介紹持續(xù)集成概念持續(xù)集成在飛看流程目錄持續(xù)集成目的持續(xù)集成流程、作用及原則持續(xù)集成工具使用介紹持續(xù)集成概念持續(xù)集成在飛看流程目錄持續(xù)集成目的及早集成,及早發(fā)現(xiàn)問題!提前并頻繁地做讓你感到痛苦的事!持續(xù)集成,達(dá)到持續(xù)發(fā)布目的!持續(xù)集成目的持續(xù)集成流程持續(xù)集成工具使用介紹持續(xù)集成概念持續(xù)集成在飛看流程持續(xù)集成相關(guān)概念(一)l自動化(automated):一個(gè)”無須干預(yù)”的過程。當(dāng)一個(gè)完全自動化的過程開始后,不需要用戶的干預(yù)。系統(tǒng)管理員稱之為“無人值守”過程。l構(gòu)建(b
2、uild):編譯、審查、部署及測試軟件的一組活動。l持續(xù)(continuous):從技術(shù)上講,持續(xù)意味著一旦開始就永不結(jié)束。這意味著構(gòu)建會不斷進(jìn)行,但實(shí)際上并非如此。CI中的持續(xù)更像是堅(jiān)持,一個(gè)進(jìn)行不斷運(yùn)行,輪詢版本控制庫的變更。如果CI服務(wù)器發(fā)現(xiàn)了變更,就會執(zhí)行構(gòu)建腳本。持續(xù)集成相關(guān)概念(二)l持續(xù)集成(Continuous Intergration):”簡稱CI。一項(xiàng)軟件開發(fā)實(shí)踐,其中團(tuán)隊(duì)的成員經(jīng)常集成他們的工作,通常每個(gè)人每天至少集成一次”-這導(dǎo)致每天會集成多次。每次集成是通過自動化的構(gòu)建(包括測試)進(jìn)行的,目的是盡快地檢查集成的錯(cuò)誤。許多團(tuán)隊(duì)發(fā)現(xiàn)這樣做能夠減少大量的集成問題。讓團(tuán)隊(duì)能夠
3、更快地開發(fā)一致辭軟件。l持續(xù)交付(Continuous Delivery):通過持續(xù)集成部署流水線達(dá)到發(fā)布條件,經(jīng)常地可獲得可交付的版本。持續(xù)集成相關(guān)概念(三)l開發(fā)環(huán)境(Development Environment):軟件編寫的環(huán)境。這包括IDE,構(gòu)建腳本,工具,第三方的庫,服務(wù)器和配置文件等。l審查(Inspection):出于內(nèi)部質(zhì)量要求,對源代碼/字節(jié)碼進(jìn)行分析。將自動化的審查(包括靜態(tài)分析和運(yùn)行時(shí)分析)稱為“軟件審查”。l私有構(gòu)建(Private Build):將變更提交至配置庫之前,在您的開發(fā)環(huán)境中執(zhí)行的本地構(gòu)建。目的是減少最近的變更破壞集成構(gòu)建的可能性。持續(xù)集成目的持續(xù)集成流程
4、、作用及原則持續(xù)集成工具使用介紹持續(xù)集成概念持續(xù)集成在飛看流程持續(xù)集成的流程持續(xù)集成包括的范圍目標(biāo):只需要點(diǎn)擊一下鼠標(biāo),就可以將軟件部署到任何目標(biāo)環(huán)境,包括開發(fā)環(huán)境、測試環(huán)境或生產(chǎn)環(huán)境。上述各項(xiàng)工作都持續(xù)進(jìn)行、持續(xù)反饋各種潛在的問題將被持續(xù)地暴露和跟進(jìn),進(jìn)而保證持續(xù)發(fā)布。持續(xù)集成流程持續(xù)集成階段為減少構(gòu)建時(shí)間,快速反饋一般分為提交階段與驗(yàn)收階段對應(yīng)輕量級構(gòu)建及重量級構(gòu)建輕量級構(gòu)建:對軟件編譯、規(guī)范性檢查(靜態(tài)檢查)、單元測試等(如有的有冒煙測試)排除所有明顯的問題重量級構(gòu)建:執(zhí)行更全面的集成構(gòu)建,包括部署與測試(有的包括動態(tài)檢查)1. 小組成員check in 代碼到源碼庫中。2. 自動開發(fā)服
5、務(wù)器不斷的監(jiān)測該源控制庫3. 新代碼不斷的被該服務(wù)器check out。4. 不斷地編譯、打包、規(guī)范性檢查、單元測試、自動安裝與部署、自動測試5. 結(jié)果發(fā)出報(bào)告。持續(xù)構(gòu)建流程持續(xù)集成實(shí)施一般步驟1、自動化1.1 包括但不是非要全部包括:自動編譯、自動單元測試、自動規(guī)范性檢查、自動安裝與部署、自動測試,沒有嚴(yán)格順序1.2 自動工具編譯打包工具:ant 、mvn、make單元測試:junit cppcheck規(guī)范性檢查:checkstyle、findbug等2、執(zhí)行單命令構(gòu)建通過單命令(可是批處理)可運(yùn)行自動構(gòu)建,并出具相應(yīng)報(bào)告持續(xù)集成實(shí)施一般步驟3、使用持續(xù)集成工具將流程形成反饋3.1 實(shí)現(xiàn)定時(shí)
6、或輪詢配置庫,獲取軟件源碼,進(jìn)行自動編譯打包、單元測試、規(guī)范性檢查生成報(bào)告。3.2 定時(shí)或輪詢已生成的二進(jìn)制包,自動安裝與部署、自動接口測試、功能性測試、性能測試等生成報(bào)告。持續(xù)集成的機(jī)制根據(jù)實(shí)際情況定。3.3 反饋方式多種:郵件、SMS等持續(xù)集成帶來的好處作用描述及早發(fā)現(xiàn)缺陷CI每次變更時(shí)(或每天多次)就執(zhí)行測試與審查,能盡早發(fā)現(xiàn)缺陷減少重復(fù)過程CI減少重復(fù)過程,包括編譯、單元測試、審查、部署與測試減少假定 CI通過在一個(gè)干凈的環(huán)境中不斷使用相的過程和腳本重復(fù)構(gòu)建,減少第三方環(huán)境的依耐每次提交都可能產(chǎn)生一個(gè)可發(fā)布的軟件 因CI及時(shí)經(jīng)常地部署測試,軟件的質(zhì)量情況可以測量與追蹤,可得到可發(fā)布的版
7、本增強(qiáng)項(xiàng)目的可見性因CI可提供質(zhì)量情況,作為有效的決策,同時(shí)也可關(guān)注到其趨勢建立起更強(qiáng)大的產(chǎn)品信心因CI,讓項(xiàng)目團(tuán)隊(duì)清楚軟件通過測試驗(yàn)證其行為,也清楚代碼的修改造成的影響持續(xù)集成的前提條件1、版本控制全面的地配置管理,與項(xiàng)目相關(guān)的所有內(nèi)容必須提交至版本庫中。2、自動化如果沒有一系列全面的自動化測試,那么構(gòu)建成功只意味著能夠編譯3、團(tuán)隊(duì)共識持續(xù)集成不是一種工具,是一種實(shí)踐,需要投入并遵守一些規(guī)則,才能提高質(zhì)量持續(xù)集成的實(shí)踐1. 經(jīng)常提交代碼2. 構(gòu)建失敗后不要提交新代碼3. 不要提交無法構(gòu)建的代碼4. 立即修復(fù)無法集成的構(gòu)建5. 回家前,構(gòu)建必須處于成功狀態(tài)6. 時(shí)刻準(zhǔn)備回滾到前一版本7. 在回
8、滾前規(guī)定一個(gè)修復(fù)時(shí)間8. 不要將失敗的測試注釋掉9. 為自己導(dǎo)致的問題負(fù)責(zé)10.測試驅(qū)動開發(fā)必不可少實(shí)踐持續(xù)集成的實(shí)踐1. 極限編程開發(fā)實(shí)踐2. 違備架構(gòu)原則,就讓構(gòu)建失敗3. 若測試運(yùn)行變慢,也讓構(gòu)建失敗4. 若編譯警告或代碼風(fēng)格問題,就讓測試失敗推薦實(shí)踐持續(xù)集成原則一u為軟件的發(fā)布創(chuàng)建一個(gè)可重復(fù)且可靠的過程幾乎將所有的事情自動化將構(gòu)建、部署、測試和發(fā)布軟件所需的東西全部納入到版本控制管理之中持續(xù)集成的原則二u將幾乎所有的事情自動化自動化是部署流水線的前提條件。當(dāng)然你不需要把所有的東西一次性地全部自動化,你應(yīng)該看一下在構(gòu)建、部署、測試和發(fā)布過程中,哪個(gè)環(huán)節(jié)是瓶頸,隨著時(shí)間的推移,最終你可以,
9、也應(yīng)該將所有的環(huán)節(jié)自動化。持續(xù)集成的原則三u把所有的東西都納入版本控制將構(gòu)建、部署、測試和發(fā)布的整個(gè)過程中所需要的東西全部保存在某種形式的版本存儲庫中,包括需求文檔、測試腳本、自動化測試用例、網(wǎng)絡(luò)配置腳本、部署腳本、數(shù)據(jù)庫創(chuàng)建、升級、回滾和初始化腳本、應(yīng)用程度所領(lǐng)帶的軟件集合的配置腳本、庫文件、工具鏈以及技術(shù)文檔等。與每次構(gòu)建結(jié)果的相關(guān)的版本都可以識別。持續(xù)集成的原則四u提前并頻繁地做讓你感到痛苦的事這是最通用也是最有啟發(fā)性的原則持續(xù)集成的原則五u內(nèi)建質(zhì)量整個(gè)團(tuán)隊(duì)必須執(zhí)行鐵一般的紀(jì)律:一旦發(fā)現(xiàn)缺陷,就要馬上著手修復(fù)兩個(gè)推論:p 測試不是一個(gè)階段,當(dāng)然也不應(yīng)該開發(fā)結(jié)束之后才進(jìn)行p 測試也不純粹或
10、主要是測試人員的領(lǐng)域。交付團(tuán)隊(duì)的每個(gè)人都應(yīng)該對應(yīng)用程序的質(zhì)量負(fù)責(zé)持續(xù)集成的原則六u Done意味著已發(fā)布(非1即0)u 交付過程是每個(gè)成員的責(zé)任u 持續(xù)改進(jìn)持續(xù)集成目的持續(xù)集成流程、作用及原則持續(xù)集成工具使用介紹持續(xù)集成概念持續(xù)集成在飛看流程持續(xù)集成的成熟度 該評估方法借鑒了ThoughtWorks敏捷成熟度模型,進(jìn)行簡化。持續(xù)集成成熟度( e-Business )-1級手動的0級可重復(fù)的 1級重復(fù)執(zhí)行2級頻繁的 3級對內(nèi)防御的 3+級對外防御的 持續(xù)集成成熟度評估( e-Business )-1級 :主要依賴于手動的方式集成軟件。每次集成的方式可能不一樣。0 級 :主要依賴于手動的方式構(gòu)建軟
11、件,但是每次構(gòu)建的方式都是相同的或者相似的。通常有相關(guān)的文檔的指導(dǎo)。 1級:構(gòu)建是自動的,但是執(zhí)行的不夠頻繁。構(gòu)建的觸發(fā)是隨機(jī)的或者頻率是非常低的(低于每天一次)。構(gòu)建的速度通常非常慢,比如一次構(gòu)建超過半個(gè)小時(shí)。 持續(xù)集成成熟度評估( e-Business )2級:構(gòu)建是自動的,而且構(gòu)建的速度較快。構(gòu)建的觸發(fā)條件是明確的,通常每次代碼提交都會觸發(fā)構(gòu)建。團(tuán)隊(duì)中的每個(gè)人都會觸發(fā)構(gòu)建,并且了解構(gòu)建的狀態(tài) 。 3級:構(gòu)建是自動的。由測試和檢查來保證團(tuán)隊(duì)內(nèi)部的開發(fā)質(zhì)量。持續(xù)集成的修復(fù)具有最高的優(yōu)先級。團(tuán)隊(duì)對持續(xù)集成的結(jié)果有信心。 3+級:團(tuán)隊(duì)能夠根據(jù)自己的需要,協(xié)調(diào)其他團(tuán)隊(duì)的持續(xù)集成,當(dāng)依賴的其他團(tuán)隊(duì)的
12、代碼和組件或者第三方庫和基礎(chǔ)設(shè)施發(fā)生改變時(shí)自動進(jìn)行構(gòu)建。團(tuán)隊(duì)對于外部依賴的可靠性有信心。 持續(xù)集成成熟度( e-Business )-1級手動的0級可重復(fù)的 1級重復(fù)執(zhí)行2級頻繁的 3級對內(nèi)防御的 3+級對外防御的 我們在哪一級?測試成熟度( e-Business )-1級獨(dú)立的0級審查的1級共享的2級集成的 3級測試驅(qū)動的3+級全面集成的測試成熟度( e-Business )-1級 :測試由專門的測試人員負(fù)責(zé)。僅在軟件開發(fā)結(jié)束后執(zhí)行。 0 級 :測試由專門的測試人員負(fù)責(zé)。有部分測試是在軟件開發(fā)過程中執(zhí)行。但大部分測試在軟件開發(fā)結(jié)束后執(zhí)行。 1級:開發(fā)人員參與測試。測試并未集成在構(gòu)建過程中。部
13、分測試在軟件開發(fā)過程中執(zhí)行,大部分測試在軟件開發(fā)結(jié)束后執(zhí)行。 測試成熟度( e-Business )2級:開發(fā)人員參與測試。部分測試集成在構(gòu)建過程中執(zhí)行。大部分測試在軟件開發(fā)過程中執(zhí)行。3級:業(yè)務(wù)分析人員和開發(fā)人員均參與測試。測試在構(gòu)建過程中自動執(zhí)行。開發(fā)人員實(shí)踐測試驅(qū)動開發(fā)3+級:全團(tuán)隊(duì)對測試負(fù)責(zé)。測試驅(qū)動整個(gè)開發(fā)過程。測試與構(gòu)建完全集成。 測試成熟度( e-Business )-1級獨(dú)立的0級審查的1級共享的2級集成的 3級測試驅(qū)動的3+級全面集成的老兄,我們又在哪里?持續(xù)集成三大環(huán)境習(xí)慣改變,從這里開始開發(fā)人員的一天從Daily Build開始 開發(fā)人員上班的第一件事兒就是查看Daily
14、 Build的結(jié)果,看是否由于自己昨天的代碼Check-in,造成Build Broken 查看地址:66:8080/hudson-2.2.065:8080/hudson-2.2.0習(xí)慣改變,從這里開始OK,Year!習(xí)慣改變,從這里開始開發(fā)環(huán)境全面升級為昨晚的版本 查看構(gòu)建結(jié)果,若不成功,必須先修復(fù)完成,等待下一次構(gòu)建的成功。連續(xù)三次后,有MM送你大頭貼的喔習(xí)慣改變,從這里開始開發(fā)環(huán)境全面升級為昨晚的版本 構(gòu)建成功后,從自動構(gòu)建環(huán)境中獲取軟件包,開發(fā)環(huán)境升級昨晚的版本 從指定路徑直接下載軟件包:網(wǎng)頁下載或直接下載6
15、6output65xiehuihudson習(xí)慣改變,從這里開始從這里下載習(xí)慣改變,從這里開始開發(fā)驗(yàn)證昨天的完成情況 打開禪道Bug管理工具,驗(yàn)證自己的BUG,更新禪道BUG狀態(tài) 打開禪道任務(wù),驗(yàn)證自己昨天的任務(wù),更新任務(wù)完成狀態(tài)習(xí)慣改變,從這里開始開始修復(fù)今天的BUG及完成今天的禪道任務(wù) 查看禪道指定給自己的Bug,解決高優(yōu)先度的Bug。因?yàn)橘|(zhì)量重于新功能 打開禪道任務(wù),開始動工完成分給自己的任務(wù)接下來,開發(fā)人員會從源代碼管理工具中Check out代碼修改代碼(解決Bug或?qū)崿F(xiàn)新功能)取得源代碼管理工具中最新變化,在本機(jī)Build和單元測試請開發(fā)組同事作Code Revie
16、w寫日志,Check in代碼在禪道Bug管理工具中修改Bug的狀態(tài)開發(fā)人員以一封Daily Report結(jié)束一天的工作代碼上傳測試人員第一件事做什么?升級軟件包,驗(yàn)證BUG 從持續(xù)集成環(huán)境中下載軟件包升級 打開禪道管理工具,查看指定給自己的Bug,,驗(yàn)證已解決的Bug測試人員第一件事做什么?點(diǎn)擊這里一看就知道開發(fā)的變更記錄測試人員第一件事做什么?童鞋們,變更日志寫沒寫清楚,測試一看就知道接下來,測試人員會 根據(jù)測試用例檢驗(yàn)當(dāng)天的Build 在禪道Bug管理工具中錄入新發(fā)現(xiàn)的Bug,等待開發(fā)人員解決下班前,測試人員會 發(fā)送當(dāng)天或者一周的Bug報(bào)告和測試用例報(bào)告測試人員說明 上述測試是開發(fā)過程中的測試,正式某個(gè)版本轉(zhuǎn)測試走轉(zhuǎn)測流程 上述測試人員包括體驗(yàn)人員飛看的持續(xù)集成 1、做了自動編譯,還未做自動測試 2、自動編譯做了兩個(gè)層級 部件級 集成級飛看的持續(xù)集成6a801S1001appstoreAndroidTVPortalMovieonLine持續(xù)集成目的持續(xù)集成流程、作用及原則持續(xù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版跨境電商平臺傭金比例調(diào)整合同3篇
- 二零二五版?zhèn)€人教育貸款擔(dān)保合同模板3篇
- 二零二五年建筑裝修幫工雇傭合同2篇
- 二零二五版寄賣合同范本:藝術(shù)品寄售代理中介服務(wù)協(xié)議2篇
- 二零二五版辦公設(shè)備智能化升級改造合同5篇
- 二零二五版橋梁工程勞務(wù)分包合同模板6篇
- 二零二五版職工住房借款與社區(qū)文化活動支持合同3篇
- 二零二五年度黃牛養(yǎng)殖與屠宰行業(yè)購銷法律法規(guī)遵守合同3篇
- 二零二五年鋁藝門安裝與外觀設(shè)計(jì)承包合同3篇
- 二零二五年度電商代發(fā)貨及品牌授權(quán)合同2篇
- 大型活動LED屏幕安全應(yīng)急預(yù)案
- 舞蹈課家長會
- 2024年內(nèi)蒙古包頭市中考道德與法治試卷
- 湖南省長沙市2024-2025學(xué)年高二上學(xué)期期中考試地理試卷(含答案)
- 自來水質(zhì)量提升技術(shù)方案
- 金色簡約蛇年年終總結(jié)匯報(bào)模板
- 農(nóng)用地土壤環(huán)境質(zhì)量類別劃分技術(shù)指南(試行)(環(huán)辦土壤2017第97號)
- 反向開票政策解讀課件
- 工程周工作計(jì)劃
- 房地產(chǎn)銷售任務(wù)及激勵制度
- 六年級語文下冊14文言文二則《學(xué)弈》課件
評論
0/150
提交評論