一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

持續(xù)集成學(xué)習(xí)筆記-入門篇(2)持續(xù)集成工具選擇

 sven_ 2013-07-30

 針對(duì)持續(xù)集成的工具已經(jīng)是鋪天蓋地,有商業(yè)化的軟件,也有開源的軟件。覆蓋的CI功能也是多種多樣。

從功能角度分,就筆者的學(xué)習(xí)經(jīng)驗(yàn)而言,最關(guān)鍵的是三類:版本控制工具、構(gòu)建工具、CIContinuous integration)服務(wù)器。而其中最核心的又是構(gòu)建工具。其他開源的、與持續(xù)集成相關(guān)的工具也有很多,但大多數(shù)是輔助性的工具。

筆者學(xué)習(xí)持續(xù)集成時(shí)所選擇的工具為:SVN、Maven、Jenkins。

 

一、主要工具

(一)、版本控制工具

有時(shí),版本控制又稱為配置管理(SCM),所以版本控制工具同時(shí)也是配置管理工具。在各類版本控制的開源軟件中,最著名的莫過于CVS、SVNSubversion)、GIT三個(gè)了。

這三個(gè)工具各有千秋。其中,GIT支持離線工作,更適合開源軟件或者開發(fā)人員不能集中辦公情況下的版本管理工作。同時(shí),SVNGIT可以配合使用。

SCM工具

江湖地位

控制方式

原子提交

并發(fā)沖突解決

權(quán)限管理

支持變更范圍

CVS

資格最老,但逐漸衰退

集中式

NO

排它鎖

方法有限

文件

SVN(Subversion)

CVS的升級(jí),目前較為主流

集中式

YES

合并模式(通知沖突)

支持目錄級(jí)。通過工具可支持文件級(jí)

文件、目錄

GIT

Eclipse.org上使用最多

分布式

YES

合并模式

權(quán)限配置較為困難

文件、目錄

 

(二)、構(gòu)建工具

構(gòu)建工具是持續(xù)集成的核心,它對(duì)源代碼進(jìn)行自動(dòng)化編譯、測(cè)試、代碼檢查,以及打包程序、部署(發(fā)布)到應(yīng)用服務(wù)器上。從配置管理工具上下載最新源代碼后,所有的后續(xù)工作幾乎都可以通過構(gòu)建工具完成。

java開發(fā)中,比較有名的構(gòu)建工具就是Ant、Maven。在PHP開發(fā)中,Phing基于Ant)也比較有名。同樣的,Maven也可通過相關(guān)的PHP-Maven插件完成對(duì)PHP開發(fā)構(gòu)建的支持。

構(gòu)建工具

江湖地位

主要特點(diǎn)/優(yōu)勢(shì)

主要劣勢(shì)

Ant

老牌的構(gòu)建工具,目前仍有很強(qiáng)生命力

l  自由、靈活

l  應(yīng)對(duì)復(fù)雜項(xiàng)目時(shí)很有利

l  用法符合一般人的思維習(xí)慣

l  引入第三方軟件框架時(shí), jar包管理比較困難

Maven

Ant勢(shì)均力敵

l  約定優(yōu)于配置;

l  第三方jar包管理方便

l  用法不太符合一般人的思維習(xí)慣

l  需要搞懂許多默認(rèn)約定(比如默認(rèn)的目錄結(jié)構(gòu))

 

(三)、CI服務(wù)器

CI服務(wù)器的主要作用就是提供一個(gè)平臺(tái),用于整合版本控制和構(gòu)建工作,并管理、控制自動(dòng)化的持續(xù)集成。

開源軟件中,比較有名的CI服務(wù)器包括Jenkins、CruiseControlContinuum。而比較有名的商業(yè)化CI服務(wù)器是TeamCity、BambooPulse等。

CI服務(wù)器

江湖地位

主要優(yōu)、劣勢(shì)

支持的SCM工具

支持的構(gòu)建工具

Jenkins(即原來的Hudson)

目前最為主流

l  基于WEB,操作方便

l  插件眾多,支持多種高級(jí)功能

專注于CVS、SVN

Mavenant

CruiseControl

成熟健壯,使用人員較多

l  通知技術(shù)一流

l  配置、維護(hù)較為困難

CVS、SVNVSS、CM Synergy

Maven、ant、make、命令行腳本(shell

Continuum

輕量級(jí)CI平臺(tái),現(xiàn)在使用較少

l  基于WEB,易于安裝

l  功能相對(duì)不夠豐富

l  用戶界面難以使用

SVN/CVS/Starteam/Clearcase/Perforce

Maven、antshell

 

二、其他工具

很多工具可以通過與構(gòu)建工具、CI工具相結(jié)合(當(dāng)然,其中有很多工具也可以單獨(dú)工作),來完成更多的自動(dòng)測(cè)試、報(bào)告生成等工作。根據(jù)工具不同,其具體的結(jié)合方法也不同,但大體都是通過插件形式進(jìn)行結(jié)合的。例如:

l  Maven中通過依賴和plugin方式引入第三方工具

l  Jenkins主要通過各類插件引入第三方工具

這些工具種類實(shí)在太多,可以根據(jù)實(shí)際工作需要進(jìn)行選擇。

工具種類

主要工具(主要用于java開發(fā))

單元測(cè)試

JuintPHPUnitfor PHP

靜態(tài)代碼檢查

Findbugs、CheckstylePMD、

測(cè)試覆蓋統(tǒng)計(jì)

Cobertura、clover

負(fù)載和性能測(cè)試

Jmeter

記錄代碼質(zhì)量度量

violations

……

……

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品精品国产欧美在线| 欧美一级黄片免费视频| 激情偷拍一区二区三区视频| 午夜色午夜视频之日本| 精品人妻一区二区三区在线看| 不卡在线播放一区二区三区| 亚洲欧美日韩精品永久| 国产盗摄精品一区二区视频| 五月综合激情婷婷丁香| 日韩精品小视频在线观看| 国产精品第一香蕉视频| 国内外免费在线激情视频| 日韩欧美综合在线播放| 国产欧美日韩精品自拍| 亚洲中文字幕在线视频频道| 国产精品一区二区香蕉视频| 亚洲国产av在线视频| 风间中文字幕亚洲一区| 亚洲中文字幕日韩在线| 日韩免费午夜福利视频| 日韩一区二区三区免费av| 亚洲熟妇熟女久久精品| 最新69国产精品视频| 午夜福利视频日本一区| 亚洲中文字幕亲近伦片| 欧美精品二区中文乱码字幕高清| 欧美一区二区口爆吞精| 九九九热视频最新在线| 国产精品一区二区高潮| 久久福利视频视频一区二区 | 日韩av欧美中文字幕| 久久精品亚洲情色欧美| 人妻内射精品一区二区| 国产亚洲神马午夜福利| 又色又爽又无遮挡的视频| 91人人妻人人爽人人狠狠| 最好看的人妻中文字幕| 老熟妇乱视频一区二区| 国产精品内射婷婷一级二级| 91精品国产品国语在线不卡| 国产av天堂一区二区三区粉嫩|