前言
- 為什麼要使用jenkins
- 可以實現批量部署、管理
- 支援常見的版本控制工具,git, svn等
- 發展成熟,使用範圍廣,容易找到解決方案
- 外掛豐富,可以滿足自己的需求
- 什麼是jenkins
- 簡單的說,Jenkins 是一種基於 Java 開發的持續整合工具,前身稱作Hudson,它是一個開源軟體專案,提供了用於監控持續重複工作的軟體平臺。Jenkins 釋出和執行的形式都很簡單,您可以去 Jenkins 官網下載安裝包後,只需一個“java -jar jenkins.war”命令就能將其執行起來。參考自http://www.ibm.com/developerworks/cn/java/j-lo-jenkinsintegrate/
- 持續化整合是什麼鬼
第一,快速迭代。
- 由於 Jenkins 整合開發開發過程中,整個流程能實現自動化,每日可以自行生成新的 build,在軟體專案被分成多個子專案後,這些子專案可能是一些獨立執行的小專案,也可能是互相聯絡的。由於每個功能可以一點點的加在 build 中,那麼這樣就能保證每次的新 build 可以交付新的功能,保障測試人員能一直有最新的 build 進行測試,從而使產品的缺陷能夠在更早的時間裡被發現,開發人員修復起來也更加容易,甚至可以在修復產品的過程中避免後續可能隨之產生的問題,確保產品在整個的開發過程中更加積極、有效。同時,通過快速迭代,開發人員可以對產品的使用者和市場趨勢保持較強敏感度,且產品也在不斷的迭代中愈加成熟,可以使使用者持續保持最好體驗感;
第二,適應變化。
- 由於持續整合開發過程中程式碼是每日整合生成 build, 產品功能是逐步增加的,這樣使得開發人員可以積極應對軟體需求的多變性。根據使用者的需求可以隨時增加新的功能而不會對整個專案產生過多的影響,根據使用者的反饋情況及時調整開發方向,降低專案風險,保證市場競爭力。這樣,通過使用者的評價和反饋來更好的完善、適應市場變化而生產出的產品才是最有生命力的產品,Jenkins 持續整合開發流程,無疑給實驗室的開發人員提供了不少的見解與幫助;
第三,建立團隊信心和提高開發人員的創新能力。
- 傳統的開發流程需要在專案經理的管理下,嚴格地按照計劃進行,長期過程中,這種模式會限制開發成員的創新能力。Jenkins 整合開發可以持續不斷的發現問題,測試和驗證功能模組的開發程度,增強開發人員對整個開發過程的瞭解和信心,同時還能快速實現開發人員的創新想法,及時在使用者那裡得到反饋,並且還可以在迭代的過程中不斷優化。這些都可以帶給開發人員更多的機會嘗試和信心鼓勵,對於產品的最終完成起著非常重要的作用。
綜上所述,這些優勢給整個軟體開發團隊帶來的好處是不可小覷的。那麼如何將 Jenkins 自動化持續整合應用到開發流程的實際工作中呢?下面我們通過一個示例來演示具體的操作步驟。
一、工具包準備
這裡為了方便都使用了rpm的安裝包,安裝jenkins僅僅需要java環境的支援,不需要資料庫
- jdk:http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-linux-x64.rpm
- jenkins: https://pkg.jenkins.io/redhat-stable/jenkins-2.7.4-1.1.noarch.rpm
二、安裝
- jdk
rpm -ivh jdk-8u121-linux-x64.rpm
- jenkins
rpm -ivh jenkins-2.7.4-1.1.noarch.rpm
三、啟動服務
/etc/init.d/jenkins start
chkconfig jenkins on
ps -ef | grep -i jenkins
四、在瀏覽器輸入伺服器地址
jenkins預設使用8080埠,http://192.168.10.213:8080/, 根據相應的提示就可以完成了jenkins的安裝,之後會設定管理員密碼,至此整個安裝過程就完成了,
jenkins的安裝還是挺簡單的,不是嗎? _