1持續(xù)集成的作用憎蛤、過程和優(yōu)勢
持續(xù)集成就是快速捞烟、高頻率地自動構建項目的所有源碼吠卷,并為項目成員提供豐富的反饋信息。
快速:集成速度要盡可能的塊岛心,開發(fā)人員不希望自己提交的代碼提交半天后才得到反饋来破。
高頻率:頻率越高越好,例如每隔一個小時忘古,這樣問題就可以盡早地反映出來徘禁。
自動*:持續(xù)集成應該自動觸發(fā)并執(zhí)行的,不應該有手工參與髓堪。
構建:包括編譯送朱、測試娘荡、審查、打包骤菠、部署等工作它改。
所有源碼:所有團隊成員提交到代碼庫里的最新的源代碼疤孕。
反饋:持續(xù)集成應該通過各種快捷的方式告訴團隊最新的集成狀態(tài)商乎,當集成失敗,反饋報告應該盡可能地反映失敗的具體細節(jié)祭阀。
開發(fā)人員對代碼做了一些修改鹉戚,在本地運行構建并確認無誤之后,將更改提交到代碼庫(Git专控、svn等)抹凳。具有高配置硬件的持續(xù)集成服務器每隔30分鐘查詢代碼庫一次,發(fā)現(xiàn)更新之后伦腐,簽出所有最新的源代碼赢底,然后調用自動化構建工具(maven、ant等)構建項目柏蘑,該過程包括編譯幸冻、測試、審查咳焚、打包和部署等洽损。然而不幸的是,另外一名開發(fā)人員在這一時間段也提交了代碼更改革半,兩處更改導致了某些測試的失敗碑定,持續(xù)集成服務器基于這些失敗的測試創(chuàng)建一個報告,并自動發(fā)送給相關開發(fā)人員又官。開發(fā)人員收到報告后延刘,立即著手調查選用,并盡快修復六敬。
Jenkins是一款持續(xù)集成工具碘赖,它的前身是Hudson。使用jenkins還不能夠完成持續(xù)集成工作觉阅,還需要版本控制工具(git崖疤、svn等)和項目構建工具(maven、ant等)配合才可以完成典勇。
首先需要理解的是劫哼,Jenkins是幫我們將代碼進行統(tǒng)一的編譯打包、還可以放到tomcat容器中進行發(fā)布割笙。
意思是我們通過配置权烧,將以前:編譯眯亦、打包、上傳般码、部署到Tomcat中的過程交由Jenkins妻率,Jenkins通過給定的代碼地址URL,將代碼拉取到其“宿主服務器”(這是我個人的稱呼板祝,在下邊會用到宫静,就是Jenkins的安裝位置),進行編譯券时、打包和發(fā)布到容器中孤里。
因此我們可以注意到的是,在Jenkins的宿主服務器中必須要有可以進行:代碼clone(Git)橘洞、代碼編譯(Maven)捌袜、代碼運行(Tomcat)的基本環(huán)境,其他文章上來就是安裝jenkins炸枣,忽略了一些基本的配置虏等。
下面我寫的案例是一個測試的java項目,涉及到的軟件有git适肠、maven霍衫、nexus、tomcat迂猴、jekins慕淡。所以需要確保已經安裝。