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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論