質量之匙:持續集成工具與實踐

發表于:2015-07-16來源:uml.org.cn作者:不詳點擊數: 標簽:軟件測試
編者按:CruiseControl:簡稱CC,持續集成工具,主要提供了基 于版本管理工具(如CVS)感知變化或每天定時的持續集成,并提供持續集成報告、Email、Jabber等等方式通知相關負責人,其要求是

  專訪Thoughtworks公司Cruise產品經理 Jez Humble

  編者按:CruiseControl:簡稱CC,持續集成工具,主要提供了基 于版本管理工具(如CVS)感知變化或每天定時的持續集成,并提供持續集成報告、Email、Jabber等等方式通知相關負責人,其要求是需要進行日構建的專桉已編寫好全自動的專桉編譯腳本(可基 于Maven或Ant)。

  記者: CruiseControl是一個開源的持續集成工具。那么開源的CruiseControl,與企業版本的Cruise, 有什么區別呢?

  Jez:主要有幾個區別,但是最重要的是,Cruise新增了一個“構建管道 ”(“pipeline”)的概念。我們之后會再深入的談,概括來說這個“pipeline”不僅可以運行構建,還可以幫助你把軟件部署到產品環境里,這是很多公司在部署軟件時都會遇到問題。所以說Cruise不只改進了傳統持續集成工具的不足,而且還能幫助你解決部署到產品環境中時遇到的問題。

  另外,CruiseControl和CruiseControl.NET都比較難用、難設定,所以我們把Cruise設計得更容易使用。Cruise還有另外一些先進的功能,如構建網格(build grid)等,它可以讓你無需太多配置就可以靈活括展,且并行你的持續集成系統。

  記者: Cruise最大的優點是什么呢?

  Jez:Cruise最大的優點包括我上面所說的先進功能:軟件部署、容易使用和build grid,還有迎合企業用戶需要的驗證與授權(authentication & authorization),和fail-over。當一個agent停止響應時 ,server會自動把工作分配到其他的agent上面去。

  記者:你可以多談一談構建網格(build grid)這個概念嗎?

  Jez:你的軟件產品可能要在不同的platform上(e.g. Windows, Linux, and Solaris)運行,那么你就需要在幾臺不同的電腦上執行你的構建(build)。

  如果你的build里面的自動測試會花很長時間,你也可以把這些測試分別放在幾臺電腦上同時運行。

  還有,對較大的公司來講,利用 build grid 來分工的話,幾個部門就可以共用一個中央管理的server。

  記者:當你們作產品計劃時,你們首先考慮的是什么?

  Jez:作為一個商業軟件,我們首先考慮的當然是如何吸引客戶。所以我們必須要開發出一些有吸引力的功能。Cruise一定要容易用,同時也要滿足客戶的需求。Cruise要做到替客戶降低成本,幫助他們順利地部署軟件、把持續集成變成一件簡單的事情。那么人們就自然會覺得購買Cruise是一個好的投資。

  記者:業界目前已有不少的持續集成工具,怎樣能使Cruise變成持續集成工具中的第一?

  Jez:當然Cruise現在還不是,但這的確是我們的目標?,F在CruiseControl是被下載最多的持續集成工具,所以Cruise試圖吸取CruiseControl的優點,再加以改良和創新。

  記者:還有另外的持續集成工具,例如 Atlassian的Bamboo。你可以比較一下Bamboo和Cruise的異同嗎?

  Jez:除了Bamboo,還有不少其他的持續集成工具。我不打算在Cruise 發布之前去看其他的持續集成工具。比起其他工具開發公司, Thoughtworks的特質就是它是一間咨詢服務公司。在持續集成技術方面,我們有為很多不同的客戶解決問題的經驗。所以Cruise這個產品的理念,就是去解決我們見過的、實際的問題,而不是去抄襲或模仿其他產品的特性。

  Cruise有一些和Bamboo類似的特性(如build grid),但是最大的區別是,我們的咨詢服務經驗是特有的。

  記者:當自動測試越來越多,持續集成的build也會越來越花時間,Cruise怎樣解決這個問題?

  Jez:Cruise的build grid就能縮短build的時間。只要把測試分開,就可以放在幾臺電腦上并行。設定Cruise的agent非常容易;安裝了agent之后,輸入server的IP,agent就會自動加入grid里面,無須任何配置。

  記者: Cruise是為企業而設計的軟件,但是敏捷開發(Agile)在一些大公司里不大能接受。他們覺得如要應用敏捷,要很大、很難的改變。那么你會怎樣說服他們去改用敏捷開發呢?

  Jez:Thoughtworks很多年以來都在面對這個問題。我們運用敏捷開發,也體驗到敏捷給我們的客戶帶來的好處。但是要改變一個公司的制度是一件非常復雜的事情。Thoughtworks通常從一個小團隊、一個項目開始,利用敏捷手段,解決它所遇到的問題。由上層把敏捷強加到團隊身上是行不通的 。

  Cruise就是這樣的一個工具:它可以幫助你從一個項目開始,逐步地采用敏捷的手段。相比其他敏捷的實踐(如TDD,結對編程),持續集成能讓你看到即時的效果:更快的找到bug,更快的獲得反饋,和更容易地部署軟件。不單是敏捷的團隊,任何團隊都可以從中獲益。

原文轉自:http://www.uml.org.cn/Test/200805231.asp

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97