九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
持續(xù)集成學習筆記-入門篇(2)持續(xù)集成工具選擇
userphoto

2013.07.30

關注
針對持續(xù)集成的工具已經(jīng)是鋪天蓋地,有商業(yè)化的軟件,也有開源的軟件。覆蓋的CI功能也是多種多樣。
從功能角度分,就筆者的學習經(jīng)驗而言,最關鍵的是三類:版本控制工具、構(gòu)建工具、CI(Continuous integration)服務器。而其中最核心的又是構(gòu)建工具。其他開源的、與持續(xù)集成相關的工具也有很多,但大多數(shù)是輔助性的工具。
筆者學習持續(xù)集成時所選擇的工具為:SVN、Maven、Jenkins。
一、主要工具
(一)、版本控制工具
有時,版本控制又稱為配置管理(SCM),所以版本控制工具同時也是配置管理工具。在各類版本控制的開源軟件中,最著名的莫過于CVS、SVN(Subversion)、GIT三個了。
這三個工具各有千秋。其中,GIT支持離線工作,更適合開源軟件或者開發(fā)人員不能集中辦公情況下的版本管理工作。同時,SVN和GIT可以配合使用。
SCM工具
江湖地位
控制方式
原子提交
并發(fā)沖突解決
權限管理
支持變更范圍
CVS
資格最老,但逐漸衰退
集中式
NO
排它鎖
方法有限
文件
SVN(Subversion)
CVS的升級,目前較為主流
集中式
YES
合并模式(通知沖突)
支持目錄級。通過工具可支持文件級
文件、目錄
GIT
Eclipse.org上使用最多
分布式
YES
合并模式
權限配置較為困難
文件、目錄
(二)、構(gòu)建工具
構(gòu)建工具是持續(xù)集成的核心,它對源代碼進行自動化編譯、測試、代碼檢查,以及打包程序、部署(發(fā)布)到應用服務器上。從配置管理工具上下載最新源代碼后,所有的后續(xù)工作幾乎都可以通過構(gòu)建工具完成。
在java開發(fā)中,比較有名的構(gòu)建工具就是Ant、Maven。在PHP開發(fā)中,Phing(基于Ant)也比較有名。同樣的,Maven也可通過相關的PHP-Maven插件完成對PHP開發(fā)構(gòu)建的支持。
構(gòu)建工具
江湖地位
主要特點/優(yōu)勢
主要劣勢
Ant
老牌的構(gòu)建工具,目前仍有很強生命力
l 自由、靈活
l 應對復雜項目時很有利
l 用法符合一般人的思維習慣
l 引入第三方軟件框架時, jar包管理比較困難
Maven
與Ant勢均力敵
l 約定優(yōu)于配置;
l 第三方jar包管理方便
l 用法不太符合一般人的思維習慣
l 需要搞懂許多默認約定(比如默認的目錄結(jié)構(gòu))
(三)、CI服務器
CI服務器的主要作用就是提供一個平臺,用于整合版本控制和構(gòu)建工作,并管理、控制自動化的持續(xù)集成。
開源軟件中,比較有名的CI服務器包括Jenkins、CruiseControl、Continuum。而比較有名的商業(yè)化CI服務器是TeamCity、Bamboo、Pulse等。
CI服務器
江湖地位
主要優(yōu)、劣勢
支持的SCM工具
支持的構(gòu)建工具
Jenkins(即原來的Hudson)
目前最為主流
l 基于WEB,操作方便
l 插件眾多,支持多種高級功能
專注于CVS、SVN
Maven、ant
CruiseControl
成熟健壯,使用人員較多
l 通知技術一流
l 配置、維護較為困難
CVS、SVN、VSS、CM Synergy
Maven、ant、make、命令行腳本(shell)
Continuum
輕量級CI平臺,現(xiàn)在使用較少
l 基于WEB,易于安裝
l 功能相對不夠豐富
l 用戶界面難以使用
SVN/CVS/Starteam/Clearcase/Perforce
Maven、ant、shell
二、其他工具
很多工具可以通過與構(gòu)建工具、CI工具相結(jié)合(當然,其中有很多工具也可以單獨工作),來完成更多的自動測試、報告生成等工作。根據(jù)工具不同,其具體的結(jié)合方法也不同,但大體都是通過插件形式進行結(jié)合的。例如:
l Maven中通過依賴和plugin方式引入第三方工具
l Jenkins主要通過各類插件引入第三方工具
這些工具種類實在太多,可以根據(jù)實際工作需要進行選擇。
工具種類
主要工具(主要用于java開發(fā))
單元測試
Juint,PHPUnit(for PHP)
靜態(tài)代碼檢查
Findbugs、Checkstyle、PMD、
測試覆蓋統(tǒng)計
Cobertura、clover
負載和性能測試
Jmeter
記錄代碼質(zhì)量度量
violations
……
……
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
敏捷方法中的開源工具
史上最全的主流java開發(fā)工具(二)
持續(xù)集成工具hudson
項目經(jīng)理、系統(tǒng)架構(gòu)師或技術骨干應該具備的水平
版本控制svn和git有什么區(qū)別?
大型IC設計中心的IT環(huán)境
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服