版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Bamboo與持續(xù)集成目錄一、持續(xù)集成21.1持續(xù)集成之前21.2持續(xù)集成2二、Bamboo簡(jiǎn)介22.1 Bamboo是什么22.2 Bamboo解決了那些問題22.3 Bamboo是如何做到這些的22.4 Bamboo需要什么22.5 Bamboo如何組織工作流2三、Bamboo入門:23.1 創(chuàng)建Project和Plan23.2 鏈接代碼倉(cāng)庫23.3 選擇構(gòu)建觸發(fā)方式23.4 配置tasks23.5 運(yùn)行23.6 獲取反饋2一、持續(xù)集成持續(xù)集成是一種軟件開發(fā)的思想,用于應(yīng)對(duì)過晚的集成所帶來的合并災(zāi)難。1.1 持續(xù)集成之前上圖展示了未采用持續(xù)集成時(shí)使用分支的常規(guī)開發(fā)流程。中間的藍(lán)線是主分支,
2、上面的紫線和下面的綠線是特征分支。與分支顏色相同的方塊代表一次提交。橙色的方塊代表一次合并,箭頭表示合并的方向??梢钥吹?,在紫分支的P1-P5次提交合并到綠分支上時(shí),需要大量的工作量處理合并時(shí)產(chǎn)生的問題。這些問題可能導(dǎo)致之前耗費(fèi)許多時(shí)間所進(jìn)行的開發(fā)前功盡棄。由于這些問題是由大規(guī)模的合并所導(dǎo)致的,那么容易想到一個(gè)解決辦法,即使避免出現(xiàn)大規(guī)模合并。持續(xù)集成便應(yīng)景而生。1.2 持續(xù)集成上圖依然采用同樣的例子說明持續(xù)集成思想。可以看出,這次合并的次數(shù)大量增加,沒有出現(xiàn)龐大的橙色方塊。三條分支基本上保持一致。如果紫分支和綠分支的提交之間存在沖突,他們也能夠盡早地發(fā)現(xiàn),并交流如何解決沖突。避免做無用功而不
3、自知的情況。上圖展示了在實(shí)際開發(fā)中,持續(xù)集成思想是如何實(shí)現(xiàn)的。首先有一個(gè)代碼倉(cāng)庫服務(wù)器,開發(fā)者們都向這個(gè)倉(cāng)庫提交代碼。然后需要一個(gè)持續(xù)集成服務(wù)器執(zhí)行持續(xù)集成的具體步驟。一旦代碼倉(cāng)庫有新的變更,便開始執(zhí)行編譯,執(zhí)行單元測(cè)試,執(zhí)行集成測(cè)試,打包等構(gòu)建過程。如果需要的話,還可以將構(gòu)建制品部署到生產(chǎn)環(huán)境。持續(xù)集成的形式是頻繁進(jìn)行構(gòu)建,確保代碼正常。其本質(zhì)是盡快地暴露問題。因?yàn)閱栴}暴露得越早,越容易修復(fù)。二、Bamboo簡(jiǎn)介2.1 Bamboo是什么Bamboo是一款持續(xù)集成服務(wù)器,可以用來自動(dòng)化管理軟件發(fā)布,創(chuàng)建一個(gè)持續(xù)交付流程。持續(xù)集成是一種軟件開發(fā)方法。一旦代碼提交到倉(cāng)庫當(dāng)中,就執(zhí)行構(gòu)建、單元測(cè)試
4、、集成測(cè)試,確保新的代碼能夠無誤地集成到既有的代碼之中。持續(xù)構(gòu)建提供了對(duì)于新代碼質(zhì)量盡可能早的錯(cuò)誤反饋。發(fā)布管理描述了發(fā)布軟件時(shí)執(zhí)行的典型步驟:包括構(gòu)建和功能測(cè)試、標(biāo)記、分配版本號(hào),在生產(chǎn)環(huán)境中部署并激活新版本。2.2 Bamboo解決了那些問題如果你是單獨(dú)的開發(fā)者,使用Bamboo可以給你:l 自動(dòng)化并且可靠的構(gòu)建和測(cè)試過程,讓你專注代碼l 一種管理有不同需求的構(gòu)建的方式l 自動(dòng)部署到服務(wù)器,比如App Store和Google Play如果你在一個(gè)團(tuán)隊(duì)中工作,那么除了以上的好處,使用Bamboo還意味著:l 你的構(gòu)建和測(cè)試過程不依賴于你特殊的本地環(huán)境。l 構(gòu)建和集成測(cè)試在開發(fā)者提交代碼之后
5、會(huì)自動(dòng)觸發(fā)如果你在開發(fā)一個(gè)龐大且復(fù)雜的軟件,那么除了以上好處,使用Bamboo還意味著:l 你可以通過并發(fā)優(yōu)化構(gòu)建性能l 你可以利用各種各樣的資源l 你可以持續(xù)部署以執(zhí)行驗(yàn)收測(cè)試l 你可以實(shí)現(xiàn)發(fā)布管理2.3 Bamboo是如何做到這些的l Bamboo是一個(gè)中央管理服務(wù)器,計(jì)劃和協(xié)調(diào)所有的工作l Bamboo有針對(duì)許多類型工作的接口和插件l Bamboo首先從你的代碼倉(cāng)庫中獲取代碼l 然后Bamboo開始構(gòu)建l 一旦構(gòu)建完成,你擁有制品l 你可以用制品做更多的事:n 壓縮他們并復(fù)制到其他地方n 將他們制作成安裝包n 將他們安裝到測(cè)試服務(wù)器上以保證一切安裝正常l Bamboo提供了一個(gè)Web程序
6、用來進(jìn)行配置和報(bào)告構(gòu)建狀態(tài)2.4 Bamboo需要什么Bamboo計(jì)劃和協(xié)調(diào)了構(gòu)建和測(cè)試過程中的所有工作。所以,要使用Bamboo,你需要:l 一個(gè)包含所有源代碼的代碼倉(cāng)庫l 構(gòu)建腳本l 測(cè)試工具一般而言,提交代碼的人具有立即修復(fù)任何由新代碼引起的構(gòu)建錯(cuò)誤的責(zé)任。2.5 Bamboo如何組織工作流Bamboo使用了plan和job還有tasks這些概念來配置和組織工作流中的事件。Project:l 有一個(gè)或多個(gè)plansl 提供project中所有plans的報(bào)告l 提供和其他軟件之間的鏈接Plan:l 默認(rèn)有一個(gè)stage,但是可以用來將jobs分組到多個(gè)stages中l(wèi) 處理一系列在同一個(gè)
7、代碼倉(cāng)庫上順序運(yùn)行的stagesl 指定默認(rèn)的倉(cāng)庫l 指定構(gòu)建如何被觸發(fā),plans之間的觸發(fā)依賴條件l 指定構(gòu)建結(jié)果的通知方式l 指定誰擁有查看和配置plan以及他的jobs的權(quán)限l 提供plan變量的定義Stage:l 默認(rèn)有一個(gè)job,也可以由多個(gè)jobs組成l 在多個(gè)agents上,并行處理他的jobsl 一個(gè)stage中的所有jobs執(zhí)行成功之后才能執(zhí)行下一個(gè)stagel 可能生成對(duì)接下來的stage有用的制品Job:l 在一個(gè)agent上順序處理他的一系列taskl 控制task執(zhí)行的順序l 匯集所有task的需求,用來匹配達(dá)到相應(yīng)需求的agentl 定義了構(gòu)建可能產(chǎn)生的制品l 只
8、能使用之前的stage生成的制品l 指定構(gòu)建結(jié)果和制品的標(biāo)簽Task:l 是一個(gè)小而具體的工作單元,比如獲取源代碼,執(zhí)行Maven goal,運(yùn)行腳本或者解析測(cè)試結(jié)果l 在Bamboo工作目錄里順序執(zhí)行三、Bamboo入門:這里以Java為例說明如何使用Bamboo為你的項(xiàng)目運(yùn)行構(gòu)建并獲得快速反饋。3.1 創(chuàng)建Project和PlanBamboo plan 指定了源碼倉(cāng)庫,構(gòu)建執(zhí)行的tasks,還有觸發(fā)構(gòu)建的時(shí)機(jī)。我們開始創(chuàng)建一個(gè)新plan:1. 使用具有創(chuàng)建plan權(quán)限的賬號(hào)登陸到你的Bamboo服務(wù)器2. 從菜單欄中選擇 Create > Create
9、a new plan 每個(gè)plan都屬于一個(gè)project,因?yàn)槲覀冞€沒有project,所以選擇Project > New Project,為project和plan輸入細(xì)節(jié)Bamboo需要知道plan的名字,plan的key和一段說明plan作用的簡(jiǎn)單描述3.2 鏈接代碼倉(cāng)庫Bamboo需要知道源碼倉(cāng)庫的地址和能夠訪問倉(cāng)庫的權(quán)限,所以它在運(yùn)行構(gòu)建的時(shí)候獲取源代碼。以Bitbucket為例,輸入你的賬號(hào)密碼,點(diǎn)擊Load Repositories瀏覽你的倉(cāng)庫。如果你愿意,可以鏈接到示例倉(cāng)庫atlassian_tutorial/helloworld3.3 選
10、擇構(gòu)建觸發(fā)方式我們可以指定Bamboo如何觸發(fā)構(gòu)建。在這里,我們讓Bamboo在代碼提交到倉(cāng)庫時(shí)就觸發(fā)構(gòu)建。3.4 配置tasks每一個(gè)plan都至少有一個(gè)task。Tasks執(zhí)行真正的工作。l The source code checkout task一個(gè)新創(chuàng)建的plan有一個(gè)默認(rèn)的獲取源碼task,它執(zhí)行從之前定義的倉(cāng)庫中獲取代碼的任務(wù)。l The builder task我們同樣希望編譯代碼,執(zhí)行單元和集成測(cè)試。我們可以在Bamboo plan中添加一個(gè)builder task來執(zhí)行這些任務(wù)。我們假定你的項(xiàng)目已經(jīng)有一個(gè)定義好的構(gòu)建腳本,Bamboo可以調(diào)用這個(gè)腳本。點(diǎn)擊Add Task,
11、 then Builder并選擇與你的構(gòu)建工具符合的task。下面是三種常見的構(gòu)建方式:注意:n Bamboo服務(wù)器上必須安裝好構(gòu)建工具,才能執(zhí)行相應(yīng)的構(gòu)建任務(wù)n 有許多適用于Bamboo的插件,讓其他構(gòu)建工具也能使用,比如Gant和Gradle。l 獲取測(cè)試結(jié)果你的測(cè)試將會(huì)在代碼編譯完成后進(jìn)行。每一個(gè)構(gòu)建task都可以選擇是否生成測(cè)試結(jié)果以及在哪里查看結(jié)果。如果你的項(xiàng)目目錄不使用傳統(tǒng)的結(jié)構(gòu),你可以指定其他查看結(jié)果的位置。3.5 運(yùn)行啟用這個(gè)plan,點(diǎn)擊Create你應(yīng)該能看見這個(gè)plan開始運(yùn)行,Bamboo會(huì):l 鏈接到代碼倉(cāng)庫l 獲取源代碼l 編譯代碼l 執(zhí)行單元和集成測(cè)試l 返回測(cè)試結(jié)果plan summary會(huì)顯示這次構(gòu)建是成功還是失敗在正確目錄里的測(cè)試會(huì)作為構(gòu)建過程的一部分自動(dòng)運(yùn)行,測(cè)試結(jié)果將會(huì)在Bamboo中顯示出來?,F(xiàn)在,無論你什么時(shí)候提交代碼到倉(cāng)庫中,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游酒店項(xiàng)目策劃方案
- 葡萄酒生產(chǎn)企業(yè)生產(chǎn)現(xiàn)場(chǎng)類隱患排查項(xiàng)目清單、基礎(chǔ)管理類隱患排查項(xiàng)目清單
- 酒廠傳統(tǒng)營(yíng)銷方案
- 淺析債務(wù)加入概念、類型、契約
- 統(tǒng)編版2024-2025學(xué)年四年級(jí)語文上冊(cè)期中素養(yǎng)測(cè)評(píng)基礎(chǔ)卷 (含答案)
- 福建省漳州市華安縣第一中學(xué)2024-2025學(xué)年高三上學(xué)期10月期中聯(lián)考數(shù)學(xué)試題(含答案)
- 遼寧行政職業(yè)能力模擬65
- 安徽申論B類模擬67
- 關(guān)于成立文創(chuàng)公司商業(yè)計(jì)劃書
- 地方公務(wù)員廣東申論256
- 2024中國(guó)鐵路集團(tuán)全國(guó)招聘高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- (全冊(cè)各類齊全)二年級(jí)數(shù)學(xué)上冊(cè)100道口算題大全54份(100題)
- Module 4 Unit 8 A trip to Hong Kong.(教學(xué)設(shè)計(jì))-2024-2025學(xué)年教科版(廣州)英語六年級(jí)上冊(cè)
- 2024至2030年中國(guó)少兒口才培訓(xùn)行業(yè)競(jìng)爭(zhēng)格局及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 3公民意味著什么第一課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治六年級(jí)上冊(cè)統(tǒng)編版
- 湖北機(jī)場(chǎng)集團(tuán)限公司2024年春季校園招聘【35人】(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 2024年秋季人教版新教材七年級(jí)上冊(cè)語文全冊(cè)教案(名師教學(xué)設(shè)計(jì)簡(jiǎn)案)
- 河南省附屬綠地綠化規(guī)劃設(shè)計(jì)規(guī)范
- 2024中華人民共和國(guó)農(nóng)村集體經(jīng)濟(jì)組織法詳細(xì)解讀課件
- 2023年中級(jí)會(huì)計(jì)實(shí)務(wù)試題及答案大全
- T-CPQS C010-2024 鑒賞收藏用潮流玩偶及類似用途產(chǎn)品
評(píng)論
0/150
提交評(píng)論