免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
持續(xù)集成工具h(yuǎn)udson

一.什么是持續(xù)集成

持續(xù)集成的核心概念

CI過(guò)程會(huì)經(jīng)常構(gòu)建軟件 組件;在許多情況下,每當(dāng)源代碼 存儲(chǔ)庫(kù)(比如 Subversion或ClearCase)中的代碼發(fā)生變化時(shí),都要構(gòu)建軟件組件。CI的好處是:經(jīng)常構(gòu)建軟件可以確保盡早遇到問(wèn)題(比如代碼缺陷),避免問(wèn)題在軟件開(kāi)發(fā)周期晚期變復(fù)雜時(shí)才被發(fā)現(xiàn)。

工具 與過(guò)程

盡管 CI 實(shí)際上是一個(gè)過(guò)程,但是持續(xù)集成 這個(gè)詞常常與一個(gè)或多個(gè)工具相關(guān)聯(lián)。在本教程中,講解如何安裝、配置和使用 Hudson 作為 CI 服務(wù)器,但是要記住,CI遠(yuǎn)不只是個(gè)工具。實(shí)際上,使用的工具可能是 CI 比較次要的方面,因?yàn)镃I工具所做的僅僅是在代碼存儲(chǔ)庫(kù)中探測(cè)到修改時(shí)運(yùn)行構(gòu)建。構(gòu)建過(guò)程本身比用來(lái)運(yùn)行它的工具重要得多。

開(kāi)始使用 CI

開(kāi)始使用 CI 需要三個(gè)組件:

  • 用 Ant 或 Maven 等工具建立的自動(dòng)構(gòu)建過(guò)程
  • 一個(gè)代碼存儲(chǔ)庫(kù),比如 CVS 或 Subversion
  • 一個(gè) CI 服務(wù)器,比如 Hudson,但是 cron 作業(yè)也可以滿(mǎn)足需要

我們來(lái)詳細(xì)討論這些組件。

自動(dòng)的構(gòu)建

CI過(guò)程會(huì)經(jīng)常集成軟件,這需要通過(guò)構(gòu)建來(lái)完成。在 Java 環(huán)境中,Ant 是常用的構(gòu)建平臺(tái)??梢允褂?Ant可靠地自動(dòng)執(zhí)行編譯、測(cè)試等任務(wù),甚至可以執(zhí)行軟件檢查和部署。在掌握了 CI 的所有組件之后,您會(huì)發(fā)現(xiàn)構(gòu)建策略是成功的 CI過(guò)程最重要的方面。如果缺少適當(dāng)?shù)臉?gòu)建過(guò)程,CI就難以發(fā)揮作用。
源代碼 管理

為了讓 CI 正確地發(fā)揮作用,需要一個(gè)源代碼管理(SCM)系統(tǒng) 或存儲(chǔ)庫(kù),比如 Subversion 或 CVS。CI 服務(wù)器向SCM存儲(chǔ)庫(kù)查詢(xún)代碼修改。在找到修改時(shí),CI服務(wù)器執(zhí)行簽出(即更新本地沙箱)并執(zhí)行構(gòu)建。除了執(zhí)行得更頻繁之外,構(gòu)建過(guò)程與在本地環(huán)境中執(zhí)行的構(gòu)建相同。

CI 服務(wù)器

對(duì)于成功的 CI 過(guò)程,需要用一個(gè)自動(dòng)的過(guò)程監(jiān)視 SCM 存儲(chǔ)庫(kù)并在探測(cè)到修改時(shí)運(yùn)行構(gòu)建,這也非常重要。對(duì)于 Java 平臺(tái),有許多可用的CI服務(wù)器,包括開(kāi)放源碼軟件和商業(yè)產(chǎn)品。它們的基本配置都很相似,適合監(jiān)視特定的 SCM 并在探測(cè)到修改時(shí)運(yùn)行構(gòu)建。所有 CI服務(wù)器都有自己的優(yōu)缺點(diǎn)。Hudson尤其讓人感興趣,因?yàn)樗菀着渲枚揖哂袕?qiáng)大的插件,這些插件可以顯示測(cè)試結(jié)果趨勢(shì)等信息。

二.Hudson 簡(jiǎn)介

Hudson 是一種革命性的開(kāi)放源碼 CI 服務(wù)器,它從以前的 CI服務(wù)器吸取了許多經(jīng)驗(yàn) 教訓(xùn)。Hudson最吸引人的特性之一是它很容易配置:很難找到更容易設(shè)置的 CI 服務(wù)器,也很難找到開(kāi)箱即用特性如此豐富的CI 服務(wù)器。Hudson容易使用的第二個(gè)原因是它具有強(qiáng)大的插件框架 ,所以很容易添加特性。例如,一個(gè) Hudson 插件可以隨時(shí)間的推移跟蹤FindBugs和代碼覆蓋。它還可以報(bào)告測(cè)試結(jié)果的趨勢(shì)(來(lái)自 JUnit 或 TestNG)以及構(gòu)建結(jié)果和對(duì)應(yīng)的執(zhí)行時(shí)間。

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

三.Hudson使用

CI 過(guò)程的最后一個(gè)方面是 CI服務(wù)器本身。CI服務(wù)器在整個(gè)開(kāi)發(fā)過(guò)程中的主要作用是控制者:當(dāng)服務(wù)器在代碼存儲(chǔ)庫(kù)中探測(cè)到修改時(shí),它將運(yùn)行構(gòu)建的任務(wù)委托給構(gòu)建過(guò)程本身。如果構(gòu)建失敗了,那么CI服務(wù)器將通知相關(guān)方面,然后繼續(xù)監(jiān)視存儲(chǔ)庫(kù)。它的角色看起來(lái)是被動(dòng)的;但是,它是快速反映問(wèn)題的關(guān)鍵。

安裝 Hudson

使用 Hudson 的主要好處之一是它的設(shè)置很簡(jiǎn)單。在最簡(jiǎn)單的情況下,Hudson 只需要兩個(gè)步驟:

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

這樣就可以了。因?yàn)橄螺d的是一個(gè) WAR 文件,所以如果愿意,可以將它部署在 Tomcat 或 JBoss 等容器中。這完全由您自己決定。當(dāng)然,Hudson假設(shè)在安裝它的機(jī)器上運(yùn)行著 Java 5,而且如果定義了JAVA_HOME 環(huán)境變量,Hudson 就會(huì)使用它。(正如前面提到的,Hudson 需要 Java5。)

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

如果一切正常(實(shí)際上不太可能出問(wèn)題),應(yīng)該會(huì)看到圖 2 所示的 Hudson 啟動(dòng)頁(yè)面。

配置 Hudson

如果訪問(wèn) Hudson 主頁(yè)的本地實(shí)例并單擊左上角的 Manage Hudson 鏈接,應(yīng)該會(huì)看到圖 3 所示的可配置選項(xiàng)列表。

圖 3. 配置 Hudson 非常容易

參數(shù)說(shuō)明:

system.message 填寫(xiě)一些說(shuō)明信息

Quiet period:hudson定時(shí)構(gòu)建工程的時(shí)間(秒)

Enable security:設(shè)置hudson登陸的規(guī)則(默認(rèn)為匿名登陸)

TCP port for JNLP slave agents:不了解JNLP不敢胡寫(xiě)總之就是三種方式:固定(fixed) 隨機(jī)(Radom)不使用(disabled),使用固定時(shí)可以填入JNLP信息

security realm:可以使用中間件容器,數(shù)據(jù)庫(kù),LDAP來(lái)驗(yàn)證安全,具體怎樣用法沒(méi)用過(guò),以后會(huì)有更新,研究中.

authorized:可以設(shè)置身份的驗(yàn)證方法:系統(tǒng)用戶(hù),匿名用戶(hù),自定義用戶(hù),還有繼承用戶(hù)(此處也在研究中,建議使用匿名用戶(hù))

JDK installations:設(shè)置JDK的安裝路徑

Shell executable:設(shè)置window shell命令

Ant installation:設(shè)置ant 的安裝路徑

mave installation設(shè)置mave的安裝路徑

cvs executable:設(shè)置cvsnt執(zhí)行進(jìn)程的路徑(cvs.exe)

.cvspass file:設(shè)置cvsnt管理員文件的路徑(passwd文件)

e-mail notification:設(shè)置當(dāng)發(fā)生錯(cuò)誤時(shí)發(fā)送的郵箱地址

hudson url:就是hudson的默認(rèn)地址

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

在 Hudson 中配置項(xiàng)目

既然 Hudson 已經(jīng)能夠與 SCM 存儲(chǔ)庫(kù)通信了,就該配置項(xiàng)目了。這個(gè)示例所用的項(xiàng)目稱(chēng)為 solar-ci。在 Hudson 主頁(yè)上單擊左上角的New Job 鏈接。這時(shí)會(huì)看到圖 5 所示的屏幕:

該頁(yè)面可以使我們通過(guò)hudson來(lái)管理cvs里的一個(gè)對(duì)應(yīng)的工程

Project name:工程名稱(chēng)

Description:描述信息

Discardbuild:如果選擇此項(xiàng)可以設(shè)置build記錄保存的天數(shù),或者build記錄保存的數(shù)理,或者只保存最新的build記錄,一般不需填寫(xiě)

Advance project options:可以設(shè)置hudson定時(shí)檢查cvs工程的時(shí)間間隔,還可以指定cvs工程checkout到本地的工程路徑,一般不需要填寫(xiě)

Source code management:我們選擇cvs將出現(xiàn)以下參數(shù):

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

Modules:填寫(xiě)cvs倉(cāng)庫(kù)下的具體工程名,使用cvs必填

Branch:填寫(xiě)分支名稱(chēng),也可以勾選this is a tag,no abranch指定標(biāo)記名稱(chēng)

選擇subversion可以進(jìn)行相應(yīng)的subversion設(shè)置

Build trigger可以設(shè)置hudson自動(dòng)執(zhí)行的一些動(dòng)作,build after others projects arebuilt指定hudson構(gòu)建完成后需要繼續(xù)構(gòu)建的工程名

Build periodically 根據(jù)hudson定義的語(yǔ)法規(guī)則來(lái)設(shè)定自動(dòng)構(gòu)建工程的時(shí)間間隔

Post-build actions

設(shè)置一些構(gòu)建完成后的動(dòng)作,如放郵件,打包,產(chǎn)生測(cè)試報(bào)告,產(chǎn)生java doc 等.

點(diǎn)擊ok保存設(shè)置

使用hudson

進(jìn)入剛配置的項(xiàng)目,可以在左側(cè)build history看到歷史的build記錄,點(diǎn)擊build now可以手動(dòng)執(zhí)行構(gòu)建動(dòng)作,完成后可以通過(guò)記錄標(biāo)記的顏色來(lái)看是否出錯(cuò),紅色有錯(cuò),藍(lán)色成功.點(diǎn)擊記錄查看詳細(xì)信息,如果有變化hudson將列出類(lèi)信息

elipse插件應(yīng)用

eclipse updatesite:http://code.google.com/p/hudson-eclipse/

重新打開(kāi)eclipse在windows->preferences下將出現(xiàn)hudson選項(xiàng),設(shè)置默認(rèn)的hudson url保存.

然后選擇windows->open view打開(kāi)hudson view

如果你己經(jīng)配置hudson項(xiàng)目將列出hudson的項(xiàng)目名稱(chēng),右鍵菜單可以看到所有的執(zhí)行菜單,使用還是很方便的,希望大家來(lái)完善這篇文章.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
持續(xù)集成工具h(yuǎn)udson與maven2的結(jié)合
InfoQ: 為什么我們要放棄Subversion
另類(lèi)工具h(yuǎn)udson/jenkins:持續(xù)集成CI知多少?
2020年 CI 工具選型指南
另一種持續(xù)集成工具Bamboo
持續(xù)集成學(xué)習(xí)筆記-入門(mén)篇(2)持續(xù)集成工具選擇
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服