使用Hudson進行持續整合

來源:互聯網
上載者:User

標籤:

http://www.cnblogs.com/AlanLee/p/5372283.html

 

說到Hudson就不得不提一下jenkins,目前來說用jenkins的應該要比Hudson多吧,畢竟jenkins的更新頻率還是要比Hudson快,兩者其實是五十步笑百步,會玩Hudson,jenkins也難不到哪去,所以jenkins暫時就不多介紹了。

在介紹Hudson之前給大家推薦一本書,這本書是來自許曉斌老師的《Maven實戰》,本篇文章會借鑒該書的內容,小Alan也把這本書看完了,這是一本非常值得購買的書,作為一名程式猿可以買下來收藏。

接下來,讓我們一起進入Hudson的世界:

第一步:安裝Hudson

Hudson:http://hudson-ci.org/,下載完成後就能獲得一個hudson.war檔案,

注意事項:Hudson必須運行在JRE1.5或更高的版本上。

最簡單的啟動方式是在命令列直接運行hudson.war(這裡不示範這種方式,有興趣的童鞋去找我二奶度娘問問就知道怎麼玩了)。

Hudson.war顧名思義,既然是一個war檔案,自然可以被部署到各種Web容器中,如Tomcat、Glassfish、Jetty及Jboss等。

這裡以Tomcat7為例,只需要把Hudson.war扔到Tomcat的部署目錄webapps下,然後去bin目錄,運行startup.bat,

待tomcat啟動完成後,開啟瀏覽器訪問http://localhost:8080/hudson就能看到hudson的介面了。

首次運行Hudson會進入如下一個介面,要你選擇你所需要安裝的外掛程式,選擇好需要安裝的外掛程式後點擊install或者finish,

以後再次訪問Hudson都會直接進入Hudson的首頁,

第二步:準備使用Hudson進行持續整合所需要的環境

①準備JDK運行環境:JDK環境還要我教你怎麼搭建的話,你後面可以不用看下去了,作為一名猿,我是絕對不希望看見你這樣的猿的,交配還得看基因好不好呢,好了不開玩笑了。

②準備Subversion倉庫:在正式建立Hudson持續整合任務之前,需要準備好版本控制系統。常見的版本控制工具有CVS、Subversion、Git、Mercurial等。Subversion可能是當前使用範圍最廣的版本控制工具吧?反正我不知道大家喜歡用什麼,但是我還是比較喜歡用Subversion,通俗點說就是SVN。SVN的安裝我就不多扯了,我二奶度娘肯定知道的,沒事多找我二奶談談人生,聊聊理想。

③準備專案管理架構:這裡我會使用Maven,個人在工作的過程中覺得Maven真的是非常不錯的,沒用過的猿或者用過的猿都建議深入學習一下,Maven的安裝也是so簡單,別告訴我你不會,不會找一下我二奶度娘。

第三步:Hudson的基本系統設定

在建立Hudson持續整合任務之前,需要對Hudson系統做一些基本的配置,包括JDK安裝位置和Maven安裝位置,Hudson會使用這些配置好的JDK和Maven進行持續整合任務。也可以使用Ant或者Shell來持續整合項目,一樣的要配置好安裝位置。

點擊Hudson首頁左邊的“系統管理”,然後單擊頁面右側的“系統設定”以進入系統設定介面,

在系統設定頁面,首先要配置的是Hudson將使用的JDK。在頁面中找到對應的部分,然後單擊Add JDK按鈕,Hudson就會提示使用者進行安裝。Hudson預設會提示自動安裝JDK,可以看到Install automatically的複選框是被選上的,但是不建議自動安裝,一般作為一個開發人員,本機上都是有JDK的,沒必要花時間去等待Hudson再次下載JDK。手動輸入本機JDK的位置(往往就是JAVA_HOME環境變數的值)。

可以配置多個JDK,需要項目支援多個不同版本JDK的時候非常有用,這裡不多介紹。

Maven的配置與JDK類似,不再多說,

最後,別忘了單擊頁面下方的Save按鈕儲存系統設定,

第四步:建立Hudson任務

單擊頁面左邊的建立任務,然後在頁面右邊選擇任務的名稱及類型。對於一般的maven項目來說,可選擇的類型有Build a free-style software project和Build a maven2 project。前者不僅支援maven項目,還支援其它類型的構建工具,如Ant、Shell。這裡我們選擇第一種,這種方式更可控制,當任務出現問題的時候也更容易檢查,

輸入任務名稱,並選擇free-style類型後,單擊OK按鈕即可進入詳細的任務配置頁面,

第五步:Hudson任務的基本配置

首先是項目的名稱和描述,接著是一個重要的選項Discard Old Builds。該選項配置如何拋棄舊的構建。Hudson每執行一次構建任務,就可以儲存相應的原始碼、構建輸出、構建報告等檔案。很顯然,如果每次構建相關的檔案都儲存下來,將會漸漸耗光磁碟空間。為此,Hudson提供兩種方式讓使用者選擇保留哪些構建任務相關的檔案,它們分別為:

□Days to keep builds:如果其值為非空的N,就僅保留N天之內的構建檔案。

□Max # of builds to keep:如果#非空,就僅保留最多#個最近構建的相關檔案。

,表示最多保留10個最近的構建,

第六步:Hudson任務的源碼倉庫位置

接著需要設定項目的源碼控制系統。在項目配置頁面的Source Code Management部分,選擇Subversion選項按鈕,然後在Repository URL文字框中輸入項目的Subversion倉庫地址。一般來說,該部分的其他選項保留預設值即可(如果在介面沒有看見這些東西,則說明Hudson Subversion Plug-in外掛程式沒有安裝),

 

需要注意的是,如果訪問Subversion倉庫需要認證,Hudson會自動探測並提示使用者輸入認證資訊。因為我用的是區域網路上的SVN,所以不需要認證,這裡沒有切實的圖片給大家示範,

 

單擊enter credential後,Hudson會彈出一個頁面讓我們選擇認證方式並輸入認證資訊。輸入正確資訊之後,Hudson就能讀取倉庫原始碼了,採用使用者名稱和密碼的方式進行認證:

第六步:Hudson任務的構建觸發配置

Build Triggers部分配置的是觸發構建的方式。可選的三種方式分別為:

□Build after other project are built:在其他項目構建完成之後構建本項目。

□Build periodically:周期性地構建本項目。

□Poll SCM:周期性地輪詢源碼倉庫,發現有更新的時候構建本項目。

我們選擇第三種方式,也是最常用的構建方式,既然是輪詢,就需要配置輪詢的頻率,Hudson使用了著名的UNIX任務調度工具Cron所使用 的配置方式。大家自己找我二奶度娘瞭解一下。

 

我配置的是每隔15分鐘輪詢一次。

第七步:Hudson任務的構建配置

接下來要配置Hudson使用運行Maven命令構建項目。單擊Build部分中的Add build step下三角按鈕,然後選擇Invoke Maven 3(如果沒有看見這個,說明沒有安裝Hudson maven3 Plugin),

 

這裡就會預設使用我們在系統配置中配置的maven構建項目,指定好要啟動並執行命令,

需要注意的是,日常持續整合任務如果成功的話,都會產生快照版的項目構建。如果維護了一個私服,那麼持續整合任務就應當自動將構建部署到私服中,供其他項目使用。單擊最下方的Save按鈕儲存配置。這時,可以單擊頁面左邊的“立即構建”來手動觸發第一次整合。

這樣,一個簡單的持續整合任務就配置成功了。

 

使用Hudson進行持續整合

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.