Bamboo與持續(xù)集成_第1頁(yè)
Bamboo與持續(xù)集成_第2頁(yè)
Bamboo與持續(xù)集成_第3頁(yè)
Bamboo與持續(xù)集成_第4頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精品Bamboo與持續(xù)集成感謝下載載精品目錄一、持續(xù)集成31.1持續(xù)集成之前31.2持續(xù)集成4二、 Bamboo簡(jiǎn)介62.1 Bamboo是什么62.2 Bamboo解決了那些問(wèn)題62.3 Bamboo是如何做到這些的72.4 Bamboo需要什么72.5 Bamboo如何組織工作流8三、 Bamboo入門:113.1 創(chuàng)建 Project 和 Plan113.2 鏈接代碼倉(cāng)庫(kù)123.3 選擇構(gòu)建觸發(fā)方式123.4 配置 tasks133.5 運(yùn)行153.6 獲取反饋15感謝下載載精品一、持續(xù)集成持續(xù)集成是一種軟件開(kāi)發(fā)的思想,用于應(yīng)對(duì)過(guò)晚的集成所帶來(lái)的合并災(zāi)難。1.1 持續(xù)集成之前上圖展示了未

2、采用持續(xù)集成時(shí)使用分支的常規(guī)開(kāi)發(fā)流程。 中間的藍(lán)線是主分支,上面的紫線和下面的綠線是特征分支。 與分支顏色相同的方塊代表一次提交。橙色的方塊代表一次合并, 箭頭表示合并的方向??梢钥吹?,在紫分支的 P1-P5 次提交合并到綠分支上時(shí),需要大量的工作量處理合并時(shí)產(chǎn)生的問(wèn)題。 這些問(wèn)題可能導(dǎo)致之前耗費(fèi)許多時(shí)間所進(jìn)行的開(kāi)發(fā)前功盡棄。由于這些問(wèn)題是由大規(guī)模的合并所導(dǎo)致的, 那么容易想到一個(gè)解決辦法,即使避免出現(xiàn)大規(guī)模合并。持續(xù)集成便應(yīng)景而生。感謝下載載精品1.2 持續(xù)集成上圖依然采用同樣的例子說(shuō)明持續(xù)集成思想。 可以看出,這次合并的次數(shù)大量增加,沒(méi)有出現(xiàn)龐大的橙色方塊。 三條分支基本上保持一致。如果紫

3、分支和綠分支的提交之間存在沖突,他們也能夠盡早地發(fā)現(xiàn),并交流如何解決沖突。避免做無(wú)用功而不自知的情況。上圖展示了在實(shí)際開(kāi)發(fā)中, 持續(xù)集成思想是如何實(shí)現(xiàn)的。 首先有一個(gè)代碼倉(cāng)庫(kù)服務(wù)器, 開(kāi)發(fā)者們都向這個(gè)倉(cāng)庫(kù)提交代碼。 然后需要一個(gè)持續(xù)集成服務(wù)器執(zhí)行持續(xù)集成的具體步驟。一旦代碼倉(cāng)庫(kù)有新的變更,便開(kāi)始執(zhí)行編譯,執(zhí)行單元測(cè)試,執(zhí)行集成測(cè)試,打包等構(gòu)建過(guò)程。感謝下載載精品如果需要的話,還可以將構(gòu)建制品部署到生產(chǎn)環(huán)境。持續(xù)集成的形式是頻繁進(jìn)行構(gòu)建,確保代碼正常。 其本質(zhì)是盡快地暴露問(wèn)題。因?yàn)閱?wèn)題暴露得越早,越容易修復(fù)。感謝下載載精品二、 Bamboo簡(jiǎn)介2.1 Bamboo是什么Bamboo是一款持續(xù)集成

4、服務(wù)器,可以用來(lái)自動(dòng)化管理軟件發(fā)布,創(chuàng)建一個(gè)持續(xù)交付流程。持續(xù)集成是一種軟件開(kāi)發(fā)方法。一旦代碼提交到倉(cāng)庫(kù)當(dāng)中, 就執(zhí)行構(gòu)建、單元測(cè)試、 集成測(cè)試,確保新的代碼能夠無(wú)誤地集成到既有的代碼之中。持續(xù)構(gòu)建提供了對(duì)于新代碼質(zhì)量盡可能早的錯(cuò)誤反饋。發(fā)布管理描述了發(fā)布軟件時(shí)執(zhí)行的典型步驟:包括構(gòu)建和功能測(cè)試、標(biāo)記、分配版本號(hào),在生產(chǎn)環(huán)境中部署并激活新版本。2.2 Bamboo解決了那些問(wèn)題如果你是單獨(dú)的開(kāi)發(fā)者,使用Bamboo可以給你:自動(dòng)化并且可靠的構(gòu)建和測(cè)試過(guò)程,讓你專注代碼一種管理有不同需求的構(gòu)建的方式自動(dòng)部署到服務(wù)器,比如App Store和 Google Play如果你在一個(gè)團(tuán)隊(duì)中工作,那么除了

5、以上的好處,使用Bamboo還意味著:你的構(gòu)建和測(cè)試過(guò)程不依賴于你特殊的本地環(huán)境。構(gòu)建和集成測(cè)試在開(kāi)發(fā)者提交代碼之后會(huì)自動(dòng)觸發(fā)如果你在開(kāi)發(fā)一個(gè)龐大且復(fù)雜的軟件,那么除了以上好處,使用Bamboo還意味著:感謝下載載精品你可以通過(guò)并發(fā)優(yōu)化構(gòu)建性能你可以利用各種各樣的資源你可以持續(xù)部署以執(zhí)行驗(yàn)收測(cè)試你可以實(shí)現(xiàn)發(fā)布管理2.3 Bamboo是如何做到這些的Bamboo是一個(gè)中央管理服務(wù)器,計(jì)劃和協(xié)調(diào)所有的工作Bamboo有針對(duì)許多類型工作的接口和插件Bamboo首先從你的代碼倉(cāng)庫(kù)中獲取代碼然后 Bamboo開(kāi)始構(gòu)建一旦構(gòu)建完成,你擁有制品你可以用制品做更多的事:壓縮他們并復(fù)制到其他地方將他們制作成安裝

6、包將他們安裝到測(cè)試服務(wù)器上以保證一切安裝正常Bamboo提供了一個(gè) Web 程序用來(lái)進(jìn)行配置和報(bào)告構(gòu)建狀態(tài)2.4 Bamboo需要什么Bamboo計(jì)劃和協(xié)調(diào)了構(gòu)建和測(cè)試過(guò)程中的所有工作。所以,要使用 Bamboo ,你需要:一個(gè)包含所有源代碼的代碼倉(cāng)庫(kù)構(gòu)建腳本感謝下載載精品測(cè)試工具一般而言,提交代碼的人具有立即修復(fù)任何由新代碼引起的構(gòu)建錯(cuò)誤的責(zé)任。2.5 Bamboo如何組織工作流Bamboo使用了 plan 和job 還有 tasks 這些概念來(lái)配置和組織工作流中的事件。Project :有一個(gè)或多個(gè) plans提供 project中所有 plans 的報(bào)告提供和其他軟件之間的鏈接Plan:

7、默認(rèn)有一個(gè) stage ,但是可以用來(lái)將jobs 分組到多個(gè) stages中處理一系列在同一個(gè)代碼倉(cāng)庫(kù)上順序運(yùn)行的 stages 指定默認(rèn)的倉(cāng)庫(kù)指定構(gòu)建如何被觸發(fā), plans 之間的觸發(fā)依賴條件指定構(gòu)建結(jié)果的通知方式指定誰(shuí)擁有查看和配置 plan 以及他的 jobs 的權(quán)限提供 plan 變量的定義Stage:默認(rèn)有一個(gè) job ,也可以由多個(gè)jobs 組成感謝下載載精品在多個(gè) agents 上,并行處理他的jobs一個(gè) stage 中的所有 jobs執(zhí)行成功之后才能執(zhí)行下一個(gè)stage可能生成對(duì)接下來(lái)的stage 有用的制品Job:在一個(gè) agent 上順序處理他的一系列 task 控制

8、task 執(zhí)行的順序匯集所有 task 的需求,用來(lái)匹配達(dá)到相應(yīng)需求的 agent 定義了構(gòu)建可能產(chǎn)生的制品只能使用之前的stage 生成的制品指定構(gòu)建結(jié)果和制品的標(biāo)簽Task:是一個(gè)小而具體的工作單元,比如獲取源代碼,執(zhí)行 Maven goal ,運(yùn)行腳本或者解析測(cè)試結(jié)果在 Bamboo 工作目錄里順序執(zhí)行感謝下載載精品感謝下載載精品三、 Bamboo入門:這里以 Java 為例說(shuō)明如何使用Bamboo 為你的項(xiàng)目運(yùn)行構(gòu)建并獲得快速反饋。3.1創(chuàng)建 Project和 PlanBamboo plan指定了源碼倉(cāng)庫(kù),構(gòu)建執(zhí)行的tasks ,還有觸發(fā)構(gòu)建的時(shí)機(jī)。我們開(kāi)始創(chuàng)建一個(gè)新plan :1.

9、使用具有創(chuàng)建 plan 權(quán)限的賬號(hào)登陸到你的 Bamboo 服務(wù)器2. 從菜單欄中選擇 Create > Create a new plan每個(gè) plan 都屬于一個(gè) project ,因?yàn)槲覀冞€沒(méi)有 project ,所以選擇 Project > New Project ,為 project 和 plan 輸入細(xì)節(jié)Bamboo需要知道 plan 的名字,plan 的 key 和一段說(shuō)明 plan 作用的簡(jiǎn)單描述感謝下載載精品3.2鏈接代碼倉(cāng)庫(kù)Bamboo需要知道源碼倉(cāng)庫(kù)的地址和能夠訪問(wèn)倉(cāng)庫(kù)的權(quán)限,所以它在運(yùn)行構(gòu)建的時(shí)候獲取源代碼。以 Bitbucket為例,輸入你的賬號(hào)密碼,點(diǎn)擊

10、 Load Repositories瀏覽你的倉(cāng)庫(kù)。如果你愿意,可以鏈接到示例倉(cāng)庫(kù)atlassian_tutorial/helloworld3.3選擇構(gòu)建觸發(fā)方式我們可以指定 Bamboo如何觸發(fā)構(gòu)建。 在這里,我們讓 Bamboo在代碼提交到倉(cāng)庫(kù)時(shí)就觸發(fā)構(gòu)建。感謝下載載精品3.4配置 tasks每一個(gè) plan 都至少有一個(gè) task 。 Tasks 執(zhí)行真正的工作。The source code checkout task一個(gè)新創(chuàng)建的plan有一個(gè)默認(rèn)的獲取源碼task ,它執(zhí)行從之前定義的倉(cāng)庫(kù)中獲取代碼的任務(wù)。The builder task我們同樣希望編譯代碼,執(zhí)行單元和集成測(cè)試。我們可

11、以在Bambooplan 中添加一個(gè) buildertask 來(lái)執(zhí)行這些任務(wù)。我們假定你的項(xiàng)目已經(jīng)有一個(gè)定義好的構(gòu)建腳本,Bamboo可以調(diào)用這個(gè)腳本。點(diǎn)擊AddTask , then Builder并選擇與你的構(gòu)建工具符合的task 。下面是三種常見(jiàn)的構(gòu)建方式:感謝下載載精品注意:Bamboo服務(wù)器上必須安裝好構(gòu)建工具,才能執(zhí)行相應(yīng)的構(gòu)建任務(wù)有許多適用于Bamboo的插件,讓其他構(gòu)建工具也能使用,比如 Gant 和 Gradle 。獲取測(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)該能看見(jiàn)這個(gè)plan 開(kāi)始運(yùn)行, Bamboo會(huì):鏈接到代碼倉(cāng)庫(kù)獲取源代碼編譯代碼執(zhí)行單元和集成測(cè)試返回測(cè)試結(jié)果plan summary會(huì)顯示這次構(gòu)建是成功還是失敗在正確目錄里的測(cè)試會(huì)作為構(gòu)建過(guò)程的一部分自動(dòng)運(yùn)行,測(cè)試結(jié)果將會(huì)在 Bamboo中顯示出來(lái)?,F(xiàn)在,無(wú)論你什么時(shí)候提交代碼到倉(cāng)庫(kù)中,Bamboo都會(huì)構(gòu)建你的代碼并反饋測(cè)試結(jié)果。3.6獲取反饋

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論