基於Jenkins 搭建持續集成環境

本篇爲入門基礎篇,因此宅鳥引用IBM developerWorks(在此感謝IBM軟件工程師 劉華婷)上的博文讓你們快速瞭解jenkins. 好了介紹概念:java


持續集成概述git

什麼是持續集成api

隨着軟件開發複雜度的不斷提升,團隊開發成員間如何更好的協同工做以確保軟件開發的質量已經慢慢成爲開發過程當中不可迴避的問題。尤爲是近年來瀏覽器

敏捷開發在軟件領域愈來愈火,如何能再不間斷變化的需求中快熟適應和保證軟件的質量顯得尤爲的重要.bash


持續集成正式針對這一類問題的一種軟件開發實踐。它倡導團隊開發成員必須常常集成他們的工做,甚至天天均可能發生屢次集成。而每次的集成都是服務器

經過自動化的構建來驗證,包括自動編譯、發佈和測試,從而儘快的發現集成錯誤,讓團隊能更快的開發內聚的軟件。ide


持續集成的核心價值在於:測試

一、持續集成中的任何一個環節都是自動完成的,無需太多人工干預,有利於減小重複過程以節省時間、費用和工做量;網站

二、持續集成保障每一個時間點上團隊成員提交的代碼是能成功集成的。換言之,任什麼時候間點都能第一時間發現軟件的集成問題,使任意時間發佈可部署ui

軟件成爲可能;

三、持續集成還能利於軟件自己的發展趨勢,這點在需求不明確或是頻繁性變動的情景中尤爲重要,持續集成的質量可以幫助團隊進行有效決策,同時

簡歷團隊對開發產品的信心。


持續集成的原則

業界廣泛認同的持續集成的原則包括:

一、須要版本控制軟件保障團隊成員提交的代碼不會致使集成失敗。經常使用的版本控制軟件有cvs,subversion,git,sourcesafe等;

二、開發人員須及時向版本控制庫中提交代碼,也需常常性的從版本控制庫中更新代碼到本地;

三、須要有專門的集成服務器來執行集成構建。根據項目的具體實際,集成構建能夠被軟件的修改來直接觸發,也能夠定時啓動,

如每半小時構建一次;

四、必須保證構建的成功。若是構建失敗,修復構建過程當中的錯誤是優先級最高的工做。一旦修復,需手動啓動一次構建。


持續集成系統的組成

因而可知,一個完整的構建系統必須包括:

一、一個自動構建過程,包括自動編譯、分發、部署和測試等。

二、一個代碼庫,即須要版本控制軟件來保障代碼的可維護性,同時做爲構建過程的素材庫。

三、一個持續集成服務器。即將介紹的jenkins就是一個配置簡單和使用方便的持續集成服務器。



Jenkins 簡介

Jenkins是一個開源項目,提供了一種易於使用的持續集成系統,使開發者從繁雜的集成中解脫出來,專一於更重要的業務邏輯實現上。同時Jenkins能

實施監控集成中存在的錯誤,提供詳細的日誌文件和提醒功能,還能用圖表的形式形象的展現項目構建的趨勢和穩定性。下面將介紹Jenkins的基本功能。


Jenkins的安裝很是簡單

服務器環境: Ubuntu 12.04.1 LTS

安裝jenkins

wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

啓動中止jenkins

sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop


Jenkins home: /var/lib/jenkins

log路徑/var/log/jenkins/jenkins.log


152151169.jpg


能夠看到Jenkins默認使用的是:8080端口

啓動Jenkins後,咱們看到一個後臺進程在命令行模式下運行。此時在瀏覽器地址欄中打開 http://serverip:8080 就能夠看到Jenkins的頁面了

Jenkins的難得之處在於具備很是搞的可用性,從它的界面中能輕鬆地完成各類配置,更多的配置和使用信息,能夠在Jenkins的官方網站上查詢。

Jenkins的主界面是:

153121547.jpg

Jenkins提供了很是豐富的插件支持,使得Jenkins變得愈來愈強大。咱們能夠方便的安裝各類第三方插件,從而方便快捷的集成第三方的應用。

好比Jenkins提供了對於IBM Rational ClearCase的插件支持。

154425563.jpg此外,Jenkins還提供了強大的的管理和配置功能,包括系統配置、管理插件、查看系統信息、系統日誌、節點管理、Jenkins命令行窗口、信息統計等功能。

試試看,你就會發現Jenkins很是好用上手。

155120251.jpg

基於Jenkins快速搭建持續集成環境

正如前面所述,一個持續集成環境須要包括三個方面的要素:代碼庫、構建過程和持續集成服務器。對於Jenkins有初步瞭解後,咱們經過一個實例來集中

展現如何快速搭建一個簡單的基於Jenkins的持續集成環境。


咱們使用Git做爲版本控制庫,Jenkins默認狀況下是沒有安裝Git的.咱們須要到插件管理界面中選中Git,而後點擊安裝從新啓動來激活這個插件。安裝成功

後,能夠在已安裝選項卡上看到如下信息。


170254208.jpg


接下來,咱們開始新建一個Jenkins項目,咱們選擇 "構建一個自由風格的軟件項目"

170744280.jpg而後咱們能夠很方便的配置個JenkinsTest項目了。Jenkins很任性的一點是在每一個配置的右側都有一個幫助的圖標,點擊圖標Jenkins會告訴你

如何配置這個選項。


個人Git代碼庫地址是:/home/jenkins/api.git

171703107.jpg


根據開發須要,設置分鐘咱們須要構建一次。選擇 Build periodically,在日程表中填寫 * * * * *

第一個參數表明的是分鐘 minute,取值 0~59;

第二個參數表明的是小時 hour,取值 0~23;

第三個參數表明的是天 day,取值 1~31;

第四個參數表明的是月 month,取值 1~12;

最後一個參數表明的是星期 week,取值 0~7,0 和 7 都是表示星期天。

因此 *  * * * * 表示的就是每分鐘執行一次構建。


在"增長構建步驟"選擇 Execute Shell

172215181.jpg

選擇和配置其餘的選項,好比郵件提醒,而後點擊 save 保存。

172419456.jpg

接下來每分鐘,jenkinsTest就會構建一次。咱們能夠在Jenkins中觀察構建進度和最終的狀態 成功或失敗。太陽表示以前的構建沒有任何失敗,

藍色的小球表示構建成功。

172953501.jpg

同時咱們能夠點擊JenkinsTest查看單詞構建的Console的輸出結果。從中咱們能夠看到構建的第一步是從git服務器上checkout代碼而後調用咱們配置的命令

173358573.jpg


173456411.jpg



咱們能夠看沒分鐘構建的列表。咱們模擬一次構建失敗的狀況,咱們把git版本庫地址/home/jenkins/api.git的第一個"/"去掉後爲:home/jenkins/api.git

再看構建過程會發生什麼...


174012491.jpg


JenkinsTest構建發生了錯誤.查看詳細信息以下:提示找不到版本庫

174155981.jpg


查看一下郵件:


174346974.jpg


174507279.jpg


而後咱們就能夠在 Jenkins 中觀察構建的狀態了。一旦構建失敗咱們能看到相應的警示圖標,同時,若是配置了郵件提醒,相關人員也會受到郵件。記住咱們先前所提醒的那樣,

分析和處理構建的失敗是優先級最高的工做。接下來,咱們還能夠加入更多的 Jenkins 項目來實現自動化測試等功能,讓持續集成更方便有效地服務於項目開發。

本次分享到此結束,謝謝耐心觀看。

下次博文 宅鳥將帶零你們瞭解jenkins的自動測試自動發佈功能

相關文章
相關標籤/搜索