加入了thoughtworks之后,自己確實是心里放松很多,找工作那一段時間的焦慮不安煩躁的狀態(tài)也隨之而去哥攘,想著終于可以好好地和朋友們一起出去玩玩了双絮。但是由于我們自身的能力還不足以勝任去了公司之后的工作桦踊,所有蒿往,由林老師帶隊萎馅,幫我們提升自身能力拼窥。所以裆泳,學(xué)習(xí)開始啦叹洲!
我們這一次是使用一個thoughtworks第一期考試系統(tǒng)這個項目作為輔助來達到提高自己的水平的目的!
在做項目時工禾,林老師將我們需要學(xué)習(xí)的知識點列了出來运提,我和我的pair領(lǐng)取了學(xué)習(xí)jenkins的任務(wù)目標(biāo)。
好了闻葵!開始學(xué)習(xí)啦民泵!
什么是jenkins
jenkins是一個可擴展的持續(xù)集成引擎。
jenkins主要用于
- 持續(xù)槽畔、自動的構(gòu)建/測試軟件項目
- 監(jiān)控一些定時執(zhí)行的任務(wù)
什么是持續(xù)集成
目前持續(xù)集成(CI)已成為當(dāng)前許多軟件開發(fā)團隊在整個軟件開發(fā)生命周期內(nèi)側(cè)重于保證代碼質(zhì)量的常見做法栈妆。它是一種實踐,旨在緩和和穩(wěn)固軟件的構(gòu)建過程厢钧。并且能夠幫助您的開發(fā)團隊?wèi)?yīng)對如下挑戰(zhàn):
- 軟件構(gòu)建自動化 :配置完成后鳞尔,CI系統(tǒng)會依照預(yù)先制定的時間表,或者針對某一特定事件早直,對目標(biāo)軟件進行構(gòu)建寥假。
- 構(gòu)建可持續(xù)的自動化檢查 :CI系統(tǒng)能持續(xù)地獲取新增或修改后簽入的源代碼,也就是說霞扬,當(dāng)軟件開發(fā)團隊需要周期性的檢查新增或修改后的代碼時糕韧,CI系統(tǒng)會不斷確認這些新代碼是否破壞了原有軟件的成功構(gòu)建。這減少了開發(fā)者們在檢查彼此相互依存的代碼中變化情況需要花費的時間和精力喻圃。
- 構(gòu)建可持續(xù)的自動化測試 :構(gòu)建檢查的擴展部分萤彩,構(gòu)建后執(zhí)行預(yù)先制定的一套測試規(guī)則,完成后觸發(fā)通知(Email,RSS等等)給相關(guān)的當(dāng)事人斧拍。
- 生成后后續(xù)過程的自動化 :當(dāng)自動化檢查和測試成功完成雀扶,軟件構(gòu)建的周期中可能也需要一些額外的任務(wù),諸如生成文檔饮焦、打包軟件怕吴、部署構(gòu)件到一個運行環(huán)境或者軟件倉庫。這樣县踢,構(gòu)件才能更迅速地提供給用戶使用。
jenkins的優(yōu)點
- Jenkins一切配置都可以在web界面上完成伟件。
- 支持Maven的模塊(Module)硼啤,Jenkins對Maven做了優(yōu)化,因此它能自動識別Module斧账,每個Module可以配置成一個job谴返。相當(dāng)靈活煞肾。
- 測試報告聚合,所有模塊的測試報告都被聚合在一起嗓袱,結(jié)果一目了然籍救。
- 構(gòu)件指紋(artifact fingerprint),每次build的結(jié)果構(gòu)件都被很好的自動管理渠抹,無需任何配置就可以方便的瀏覽下載蝙昙。
jenkins在本項目中所起的作用
- 作為測試標(biāo)準,配置在一臺電腦上
- 每間隔一定的時間梧却,查詢github是否有新的代碼push奇颠,并且自動從github上push下最新的代碼
- 并且根據(jù)題目找處相應(yīng)代碼的測試,自動在jenkins中運行測試放航,并且得出測試結(jié)果烈拒,根據(jù)測試結(jié)果反饋和執(zhí)行后續(xù)功能