如何保證一個項目可持續集成發佈

    這倆天稍微有點空,趕緊補補功課。

 

    持續集成就是利用所謂的cc,cruisecontrol工具對我們的項目進行持續的測試,得以保證項目可以保持持續的可發佈狀態。

 

    但是光靠一個cc,肯定是無法解決這個問題的,還需要一套機制,這個就是敏捷管理。

需要我們把項目的需要開始調研做起,就要專業有深度,過程一絲不苟,進行嚴格的質量管控和結果輸出,對於正式發佈上線要嚴肅認真做好各種意外準備。從代碼角度而言,要保證代碼必須有測試代碼,測試代碼必須達到一定的覆蓋率纔有意義。而測試代碼的加入必須意味着我們的項目必須層次清晰,結構分明,即所謂的mvc分層體系,方便測試用例針對各個層次進行不同的場景模擬和測試。

 

集成員通過配置CruiseControl工具,可以將部分較爲簡單、不需要人工干預和希望經常重複執行的集成工作交給工具來自動完成。集成員可以配置多個持續集成項目,包括若干個多人同時在開發的子構件、最終發佈的集成包等。

CruiseControl在活動時段,循環執行各構建週期,包含:引導初始化—〉檢測源碼變化—〉集成構建—〉單元測試—〉發佈構建和測試結果等步驟。

每當實施員在私有開發工作站上,將源碼檢入(Checkin)、加入源碼控制(Add to Source Control)、或者向集成流(Stream)提交成果(deliveryCruiseControl在隨後的構建週期循環中,將通過檢測源碼變化步驟檢測到這一變化,CruiseControl此時會等待預定的間隔,看看是否有新的源碼變化出現,避免實施員批量檢入或加入源碼控制時遺漏後續變更;CruiseControl開始調用Ant封裝(wrapper)配置文件執行構建,它首先更新目標源碼目錄下的所有內容(調用ClearCase ccupdate指令),以同步變化的源碼,再進行編譯、鏈接,完成預定的冒煙測試,並將結果記錄到相應的日誌中;CruiseControl在構建完成後,通過e-mail成功或失敗的結果通知提交源碼變更的實施員、以及指定的其他人員,並生成構建報告網頁,相關人員通過e-mail接受通知的同時,也可以登陸CruiseControl的發佈網頁來瀏覽構建報告詳細信息。

 

 

其他方面就不說了。附上一些關於cc的使用注意點。

 

CC可能需要用到下面一些工具

Ø  CruiseControl

Ø  Tomcat 或者 JETTY

Ø  VisualSVN server

Ø  Svnant

Ø  svn-win32-1.6.5.zip

Ø  TortoiseSVN(可選)

Ø  Eclipse + subclipse插件(可選)

 

 CC主要就是利用JAVA的一些特性和ANT工具以及SVN對我們的項目進行自動編譯,自動檢驗,自動測試,自動生成一些測試報告,自動部署發佈的一系列工作的應用程序。

 

linux下的部署反而相對方便些,在window下需要主要引入SVN的環境變量,否則無法使用SVN自動更新,windown下安裝Subversion,然後把bin路徑加入到環境變量中區,在cmd中輸入svn試試,如果有結果說明SVN環境已經安裝成功,然後就可以在config.xml中構建我們的CC環境。

 

CC主要包括幾個東西,一個是時間控制器,用於管理執行的時間要求。一個是ANT的腳本的調用,可以調用具體的項目中的target任務執行。一個是java工具的使用,包括編譯、打包等。一個是LOG日誌的輸出,可以產生各種格式的報表日誌。另外支持一些插件,比如htmlmail插件,支持自動發送結果郵件到具體的郵箱。另外CC包括一個控制檯,在控制檯中可以查看各個項目執行測試的結果。

 

不說了,這個工具很重要,用過的人都知道的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章