首先我們要搞清楚什么是持續集成(Continuous integration)
提出者Martin Fowler本人對持續集成是這樣定義的:持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。
隨著軟件開發復雜度的不斷提高,團隊開發成員間如何更好地協同工作以確保軟件開發的質量已經慢慢成為開發過程中不可回避的問題。尤其是敏捷開發(Agile) 在軟件工程領域越來越紅火,如何能再不斷變化的需求中快速適應和保證軟件的質量也顯得尤其的重要。
持續集成正是針對這一類問題的一種軟件開發實踐。
持續集成的核心價值在于:
減少風險,減少重復過程
任何時間、任何地點生成可部署的軟件
增強項目的可見性
建立團隊對開發產品的信心
持續集成的原則
所有的開發人員需要在本地機器上做本地構建,然后再提交的版本控制庫中,從而確保他們的變更不會導致持續集成失敗。
開發人員每天至少向版本控制庫中提交一次代碼。
開發人員每天至少需要從版本控制庫中更新一次代碼到本地機器。
需要有專門的集成服務器來執行集成構建,每天要執行多次構建。
每次構建都要100%通過。
每次構建都可以生成可發布的產品。
修復失敗的構建是優先級最高的事情。
測試是未來,未來是測試
Jenkins
Jenkins 是一個開源項目,提供了一種易于使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專注于更為重要的業務邏輯實現上。同時 Jenkins 能實施監控集成中存在的錯誤,提供詳細的日志文件和提醒功能,還能用圖表的形式形象地展示項目構建的趨勢和穩定性。
安裝
從Jenkins官網下載最新war文件
運行 java -jar jenkins.war
運行成功會在用戶個人目錄下新建.jenkins/文件夾
訪問localhost:8080就能到達Jenkins首頁
系統管理 >> 系統設置
這里以QQ郵箱配置為例,根據自己的郵件提供商修改
設置有效URL和發送郵箱
注意SMTP服務器是系統管理員郵件提供商的服務器
安裝Git插件
系統管理 >> 插件管理 >> 可選插件
查找Git plugin,勾選,直接安裝,重啟Jenkins
Jenkins提供了很多優秀的插件,這里有一篇不錯的介紹Jenkins Job相關插件的文章
如果你覺得已有的插件不能滿足你的需求,可以自己開發(推薦:淺析Jenkins插件開發)
用戶與安全
系統管理 >> 管理用戶
可添加和管理用戶
系統管理 >> Configure Global Security(安全設置)
可配合安全矩陣管理用戶權限
DEMO
新建一個freestyle項目
配置源碼,這里以git為例,Credential可以配置帳號密碼、ssh
https://github.com/wuyanxin/jenkins_nodejs_test 是一份簡單示例代碼,包含啟動失敗、啟動成功、測試失敗、和測試成功的例子
構建觸發器
我選擇的是定時器模式,配置語法如crontab,可點擊右側的問號查看說明。
順便說說觸發遠程構建,可以通過遠程請求對應URL觸發,這個可以配合版本庫的hook使用,自動化測試新commit
構建
可通過四種方式構建,batch、shell、ant、maven,根據自己需要自行選擇。
我用shell, 可以增加多步構建,按順序執行
構建之后
可打包、構建其他項目、發布測試報告、發布javadoc、git發布、郵件提醒
這里就只談談郵件提醒
郵件提醒
這樣我們就完成了持續集成環境的搭建,啟動失敗或者測試失敗將會發送郵件通知。
相信看了這些案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!
相關閱讀:
html里怎樣實現異步上傳文件
marquee元素如何實現滾動字體與圖片的效果
怎么給span標記樣式設置width屬性
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com