亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Hudson做持續集成

系統 1575 0

一.什么是持續集成

持續集成的核心概念

CI過程會經常構建 軟件 組件;在許多情況下,每當源 代碼 存儲庫(比如 Subversion 或ClearCase)中的代碼發生變化時,都要構建軟件組件。CI的好處是:經常構建軟件可以確保盡早遇到問題(比如代碼缺陷),避免問題在軟件 開發 周期晚期變復雜時才被發現。

工具 與過程

盡管 CI 實際上是一個過程,但是 持續集成 這個詞常常與一個或多個工具相關聯。在本教程中,講解如何安裝、配置和使用 Hudson 作為 CI 服務器 ,但是要記住,CI遠不只是個工具。實際上,使用的工具可能是 CI 比較次要的方面,因為 CI工具所做的僅僅是在代碼存儲庫中探測到修改時運行構建。構建過程本身比用來運行它的工具重要得多。

開始使用 CI

開始使用 CI 需要三個組件:

  • 用 Ant 或 Maven 等工具建立的自動構建過程
  • 一個代碼存儲庫,比如 CVS 或 Subversion
  • 一個 CI 服務器,比如 Hudson,但是 cron 作業也可以滿足需要

我們來詳細討論這些組件。

自動的構建

CI過程會經常集成軟件,這需要通過構建來完成。在 Java 環境中,Ant 是常用的構建平臺。可以使用 Ant可靠地自動執行編譯、 測試 等任務,甚至可以執行軟件檢查和部署。在掌握了 CI 的所有組件之后,您會發現構建策略是成功的 CI過程最重要的方面。如果缺少適當的構建過程,CI 就難以發揮作用。

源代碼 管理

為了讓 CI 正確地發揮作用,需要一個源代碼管理(SCM) 系統 或存儲庫,比如 Subversion 或 CVS。CI 服務器向 SCM存儲庫查詢代碼修改。在找到修改時,CI服務器執行簽出(即更新本地沙箱)并執行構建。除了執行得更頻繁之外,構建過程與在本地環境中執行的構建相同。

CI 服務器

對 于成功的 CI 過程,需要用一個自動的過程監視 SCM 存儲庫并在探測到修改時運行構建,這也非常重要。對于 Java 平臺,有許多可用的 CI服務器,包括開放源碼軟件和商業產品。它們的基本配置都很相似,適合監視特定的 SCM 并在探測到修改時運行構建。所有 CI服務器都有自己的優缺點。Hudson 尤其讓人感興趣,因為它容易配置而且具有強大的插件,這些插件可以顯示測試結果趨勢等信息。

二.Hudson 簡介

Hudson 是一種革命性的開放源碼 CI 服務器,它從以前的 CI服務器吸取了許多 經驗 教訓。Hudson 最吸引人的特性之一是它很容易配置:很難找到更容易設置的 CI 服務器,也很難找到開箱即用特性如此豐富的CI 服務器。Hudson 容易使用的第二個原因是它具有強大的插件 框架 ,所以很容易添加特性。例如,一個 Hudson 插件可以隨時間的推移跟蹤FindBugs 和代碼覆蓋。它還可以報告測試結果的趨勢(來自 JUnit 或 TestNG)以及構建結果和對應的執行時間。

Hudson 需要運行 Java 5。如果需要使用 Hudson 附帶的 嵌入式 容器(Winstone)之外的其他容器,那么只需使用一種 Servlet 2.4 容器。對于大多數情況,Winstone 就足夠了。

三.Hudson使用

CI 過程的最后一個方面是 CI 服務器本身。CI服務器在整個開發過程中的主要作用是控制者:當服務器在代碼存儲庫中探測到修改時,它將運行構建的任務委托給構建過程本身。如果構建失敗 了,那么 CI服務器將通知相關方面,然后繼續監視存儲庫。它的角色看起來是被動的;但是,它是快速反映問題的關鍵。

安裝 Hudson

使用 Hudson 的主要好處之一是它的設置很簡單。在最簡單的情況下,Hudson 只需要兩個步驟:

  1. 下載最新的版本(它打包為一個 WAR 文件)。 hudson官方網址:https://hudson.dev.java.net/
  2. 運行 java -jar hudson.war

這樣就可以了。因為下載的是一個 WAR 文件,所以如果愿意,可以將它部署在 Tomcat 或 JBoss 等容器中。這完全由您自己決定。當然,Hudson 假設在安裝它的機器上運行著 Java 5,而且如果定義了 JAVA_HOME 環境變量,Hudson 就會使用它。(正如前面提到的,Hudson 需要 Java 5。)

在安裝并運行 Hudson 之后(將 WAR 文件部署到 servlet 容器或從命令行執行 java -jar hudson.war ),啟動瀏覽器并訪問默認安裝位置。如果通過命令行運行 Hudson 而且您在本地機器上,那么可以訪問 http://localhost:8080/


如果一切正常(實際上不太可能出問題),應該會看到圖 2 所示的 Hudson 啟動頁面。


配置 Hudson

如果訪問 Hudson 主頁的本地實例并單擊左上角的 Manage Hudson 鏈接,應該會看到圖 3 所示的可配置選項列表。

圖 3. 配置 Hudson 非常容易

參數說明:
system.message 填寫一些說明信息
Quiet period:hudson定時構建工程的時間(秒)
?Enable security :設置hudson登陸的規則(默認為匿名登陸)
TCP port for JNLP slave agents:不了解JNLP不敢胡寫總之就是三種方式:固定(fixed) 隨機(Radom) 不使用(disabled),使用固定時可以填入JNLP信息

security realm:可以使用中間件容器,數據庫,LDAP來驗證安全,具體怎樣用法沒用過,以后會有更新,研究中.
authorized:可以設置身份的驗證方法:系統用戶,匿名用戶,自定義用戶,還有繼承用戶(此處也在研究中,建議使用匿名用戶)
JDK installations:設置JDK的安裝路徑
Shell executable:設置window shell命令
Ant installation:設置ant 的安裝路徑
mave installation設置mave的安裝路徑
cvs executable:設置cvsnt執行進程的路徑(cvs.exe)
.cvspass file:設置cvsnt管理員文件的路徑(passwd文件)
e-mail notification:設置當發生錯誤時發送的郵箱地址
hudson url:就是hudson的默認地址

還 可以配置服務器的其他幾個方面,比如向 Hudson提供一個電子郵件服務器的位置,以便在構建失敗時接收電子郵件。根據您的組織設置電子郵件的方式,可能需要讓系統管理員幫助設置這個特性。設 置電子郵件并不是必需的;Hudson 還支持以 RSS作為通知機制,對于某些人來說,這種方式比電子郵件更好。究竟選擇哪些通知機制完全取決于您。(注意,這里說的是“哪些”,也就是說,可以同時使用 多種通知機制!)

在 Hudson 中配置項目

既然 Hudson 已經能夠與 SCM 存儲庫通信了,就該配置項目了。這個示例所用的項目稱為 solar-ci 。在 Hudson 主頁上單擊左上角的 New Job 鏈接。這時會看到圖 5 所示的屏幕:



該頁面可以使我們通過 hudson 來管理 cvs 里的一個對應的工程

?

Project name: 工程名稱

Description: 描述信息

Discard build: 如果選擇此項可以設置 build 記錄保存的天數 , 或者 build 記錄保存的數理 , 或者只保存最新的 build 記錄 , 一般不需填寫

Advance project options: 可以設置 hudson 定時檢查 cvs 工程的時間間隔 , 還可以指定 cvs 工程 check out 到本地的工程路徑 , 一般不需要填寫

Source code management: 我們選擇 cvs 將出現以下參數 :

Cvsroot: 將寫 cvs 登陸字符串 , 格式 ( :protocol:user:password@host:path), 例如 : :pserver:cvsadmin:1@127.0.0.1:2401:/CVSNT/Repository, 使用 cvs 必填
?

Modules: 填寫 cvs 倉庫下的具體工程名 , 使用 cvs 必填

Branch: 填寫分支名稱 , 也可以勾選 this is a tag,no a branch 指定標記名稱
?

選擇 subversion 可以進行相應的 subversion 設置

Build trigger 可以設置 hudson 自動執行的一些動作 ,build after others projects are built 指定 hudson 構建完成后需要繼續構建的工程名

Build periodically 根據 hudson 定義的語法規則來設定自動構建工程的時間間隔

Post-build actions

設置一些構建完成后的動作 , 如放郵件 , 打包 , 產生測試報告 , 產生 java doc .

點擊 ok 保存設置

使用hudson
進入剛配置的項目 , 可以在左側 build history 看到歷史的 build 記錄 , 點擊 build now 可以手動執行構建動作 , 完成后可以通過記錄標記的顏色來看是否出錯 , 紅色有錯 , 藍色成功 . 點擊記錄查看詳細信息 , 如果有變化 hudson 將列出類信息


elipse插件應用
eclipse updatesite:http://code.google.com/p/hudson-eclipse/
重新打開eclipse在windows->preferences下將出現hudson選項,設置默認的hudson url保存.
然后選擇windows->open view打開hudson view
如果你己經配置hudson項目將列出hudson的項目名稱,右鍵菜單可以看到所有的執行菜單,使用還是很方便的,希望大家來完善這篇文章.

Hudson做持續集成


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲视频三区 | 久久成人在线 | 久久国产欧美另类久久久 | 国产网红精品 | 国产欧美精品一区二区三区–老狼 | 黄色成人免费网站 | 亚洲精品伊人久久久久 | 国产精品手机网站 | 99视频有精品视频免费观看 | a级日本理论片在线播放 | se视频在线| 久久泄欲网 | 亚洲三级视频在线 | 91高清免费国产自产拍2021 | 欧美国产日韩在线 | 天天舔日日干 | 四虎视频国产精品免费 | 在线观看免费亚洲 | 国产野花视频天堂视频免费 | 国产一区亚洲二区三区 | 97在线资源站| 久久国产精品视频 | 免费视频精品一区二区三区 | 色片免费观看 | 天天爽影院一区二区在线影院 | 亚洲欧美日韩在线精品2021 | 国产爽片在线观看 | 久久尹人 | 亚洲成人福利在线 | 色大18成网站www在线观看 | 亚洲色图国产精品 | 色婷婷一区 | www.四虎影 | 欧美性猛交ⅹxxx乱大交免费 | 5x性区m免费毛片视频看看 | 国产精品第1页在线播放 | 奇米日日| 伊人一区二区三区 | 国产91在线免费 | 一级一级毛片看看 | 欧美一级午夜免费视频你懂的 |