搜尋此網誌

2016/5/2

[devops][鐵人賽]CI Server 30 - Jenkins,文章連結整理自ITHOME

devops越來越重要了,記錄一下重要文章


http://ithelp.ithome.com.tw/articles/10109773
在過去30天中,我們一步一步地建立了我們的CI Server,
從最初簡單的建置專案,到最後擁有完整了測試、分析甚至是部署功能,
讓Jenkins成為幫助我們控管專案程式碼品質的好幫手,
並可以讓我們在程式碼可能產生問題時及早發現,讓專案的進行更加順暢!
※Jenkins所提供的各種服務
在這一系列的文章之中,主要根據Jenkins所提供幾個主要功能做了介紹。
※有了Jenkins讓生活更美好
透過Jenkins接手為我們處理每天可能需要花費時間人力進行的工作之後,
我們可以用更少的代價換取信賴度更高的服務,
由於系統全自動進行各項工作,執行的每一步驟也都有Log紀錄,
讓我們還提供了各種報表讓我們一眼看出關鍵點,
讓我們的軟體開發流程更加的順暢。
1. 讓工程師更專注於開發
相較於讓工程師透過各種程式碼分析工具來掃描自己所撰寫的程式,
雖然程式碼的品質可以在開發時期就保持穩定優良,但也花費了大量的時間,
而在交給Jenkins之後,工程師只要專注在開發、撰寫單元測試上,
其他的所有分析的工作就交給Jenkins來處理,
並透過每天Review專案的報表就可以知道今天所開發程式碼的狀況,
也不怕自己在忙碌時所check in的程式碼無法建置。
2. 讓專案的異動更靈活
由於我們有針對程式碼撰寫單元測試,當異動需求發生時,
我們可以放心大膽的更改我們的程式碼,
若影響到其他的功能就會因為單元測試不通過而得到Jenkins的警告通知,
甚至我們還可以使用之前所建置好的版本來進行還原的動作 (若有設定保留每次的Build),
不必因為害怕改壞原本穩定的功能而讓程式碼的複雜度越來越高
(因為每次總是在最小的範圍修正bug,很可能會養出數千行的function)
3. 讓專案的管理更輕鬆
每天我們都會收到Jenkins所寄出來的專案分析報告,
我們可以很快地看出是不是今天check in的程式碼都有通過測試,
如果有不符合團隊程式碼風格,或是其他有潛在風險的問題都可以第一時間發現,
也因為我們準備好了建置專案的MakeFile,就算要將新專案加入Jenkins也很輕鬆,
而萬一要對所有的程式碼增加額外的分析或操作,也只要修改共用的MakeFile即可,
對於主管來說專案程式碼的透明度更高,不再只能透過Code Review才能控管品質。
※總結
終於寫完了這一系列的Jenkins Server介紹,
也達成了今年自己的小小目標之一,希望這系列文章能夠幫助到想要導入CI Server的朋友,
在練習架設自己的CI Server過程之中,其實遇到了很多瓶頸也學到了很多經驗,
想在這邊把這些東西分享給大家,讓大家在設定Jenkins的過程中可以更快速的上手,
並且感受到CI Server所帶來的種種好處,讓開發的流程更加的順暢。
最後開心的就是終於鐵人鍊成啦!謝謝大家!

沒有留言: