在最簡單的狀況下,Jenkins 只須要兩個步驟:html
1.下載最新的版本(一個 WAR 文件)。Jenkins官方網址: http://Jenkins-ci.org/java
2.運行 Java -jar jenkins.warlinux
注意:Jenkins 須要運行 Java 5以及以上的版本。web
還有一種安裝方式就是將下載的war包文件部署到 servlet 容器,而後啓動容器,在瀏覽器的URL地址欄中輸入相似http://localhost:8080/jenkins/這樣的地址便可。下圖是安裝成功後的界面(使用的是Linux+Tomcat6+Java6環境):docker
圖2 Jenkins主界面apache
寫在配置前的一些話:Jenkins的配置不可能所有都說到的,大部分配置是有英文說明的,點擊輸入框後面的問號就能夠看見了。英文不會用翻譯工具,連蒙帶猜的,多測試幾回,你就懂了。瀏覽器
在已運行的Jenkins主頁中,點擊左側的系統管理進入以下界面:tomcat
圖3 Jenkins系統管理安全
Ps:版本不一樣提示的消息有可能不一樣服務器
Your Container doesn't use UTF-8 to decode URLs. If you use non-ASCII characters as a job name etc, this will cause problems. See Containers and Tomcat i18n for more details.
Jenkins建議在tomcat中使用utf-8編碼,配置tomcat下conf目錄的server.xml文件
圖4 URIEncoding編碼設置
Ps:若是Job的控制檯中文輸出亂碼,請將URIEncoding=」utf-8」更改成useBodyEncodingForURI="true"
New version of Jenkins (1.518.JENKINS-14362-jzlib) is available for download (changelog).
提示有新的版本能夠下載了,喜歡更新的點擊download去下載吧!
圖5 安全提示消息
詹金斯容許網絡上的任何人表明您啓動進程。考慮至少啓用身份驗證來阻止濫用。點擊Dismiss忽略該消息,點擊Setup Security進入設置界面.詳細設置請參考 Configure Global Security(安全設置) 章節
在已運行的Jenkins主頁中,點擊左側的系統管理—>系統設置進入以下界面:
圖6 系統設置界面
配置一個JDK、Ant、Maven實例,請在每一節下面單擊Add(新增) 按鈕,這裏將添加實例的名稱和絕對地址。下圖描述了這兩個部分。
圖7 JDK配置界面
JDK別名:給你看的,隨便你本身,叫阿貓阿狗均可以
JAVA_HOME:這個是本機JDK的安裝路徑(錯誤的路徑會有紅字提示你的)
自動安裝:不推薦這個選項
後面Ant與Maven的配置是同樣的,JDK去Oracle官網下載,Ant與Maven去apache官網下載
Ps:每一個文本框後面都有個問號,點擊問號就會出現幫助信息
圖8 發件人地址配置界面
System Admin e-mail address:Jenkins郵件發送地址,若是你這個沒有配置,等着發郵件的時候報錯吧,當時我也是這兒沒有配置,鬱悶了我一週的時間。⊙﹏⊙b汗
圖9 郵件通知
這個就很是的簡單了,根據的的郵箱提供者的參數配置就好了。
Ps:小技巧:用戶默認郵件後綴配置了後,之後你填寫郵件地址只須要@以前的就好了
圖10 Subversion配置
Subversion Workspace Version:Subversion 的版本號,選擇你對應的版本號就好了
在已運行的Jenkins主頁中,點擊左側的系統管理—>Configure Global Security進入以下界面:
圖11 安全設置界面
設置如上圖,保存後系統管理中就出現管理用戶的選項。頁面右上角也會出現登陸/註冊的選項。
在右上角點擊註冊
圖12 註冊用戶界面
點擊sign up按鈕,提示你如今已經登陸.返回首頁.
登陸後和匿名帳號看到的首頁有幾點不一樣,以下圖紅框所示:
圖13 用戶登陸界面
建議先閱讀Jenkins插件章節,在回來安裝以下所示的插件。這個插件將生成的構件(war或者ear)部署到主流的服務器上。
插件名稱:Deploy Plugin
插件介紹:This plugin takes a war/ear file and deploys that to a running remote application server at the end of a build
在已運行的Jenkins主頁中,點擊左側的新建Job進入以下界面:
圖14 新建Job界面
這時,須要爲新的構建任務指定一個名稱。(這裏輸入的任務名稱爲:Ant_test)這裏有幾種的任務類型可供選擇,鑑於初步介紹,先選擇構建一個自由風格的軟件項目。對於其餘的類型,常用的是拷貝已存在任務;這主要爲了能在現有的任務基礎上新建任務。點擊OK按鈕,
演示是使用Subversion的連接,在Repository URL中輸入你的項目連接,若是沒有權限則會提示以下圖:
圖15 Subversion配置界面
點擊 enter credential 輸入用戶名和密碼(我猜你們通常都是使用的用戶名和密碼登錄的)
圖16 Subversion權限認證界面
Ps:svn的用戶名和密碼設置了是沒有辦法在web界面修改的。若是要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml文件(點到爲止,畢竟這只是入門教程)
在其餘項目構建完成後才執行構建:指定的項目完成構建後,觸發此項目的構建。
Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您能夠指定一個定時做業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。若是發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。
Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而無論SCM是否有變化。若是想在這個Job中運行一些測試用例的話,它就頗有幫助。
由於個人項目是用ant腳本實現的編譯和打包,因此我選擇的是Invoke Ant,Ant Version選擇你Ant配置的那個名字,注意不要選擇default喔,那個選擇了沒有用。
圖17 Ant構建配置界面
若是你的構建腳本build.xml不在workspace根目錄、或者說你的構建腳本不叫build.xml。那麼須要在高級裏設置Build File選項的路徑,指明你的腳本。注意:是相對路徑
部署請參考:war文件部署章節
圖18 新建Job界面
這時,須要爲新的構建任務指定一個名稱。(這裏輸入的任務名稱爲:maven_test)這裏有幾種的任務類型可供選擇,鑑於初步介紹,先選擇構建一個maven2/3項目。對於其餘的類型,常用的是拷貝已存在任務;這主要爲了能在現有的任務基礎上新建任務。點擊OK按鈕,
圖19 構建任務配置界面
演示是使用Subversion的連接,在Repository URL中輸入你的項目連接,若是沒有權限則會提示以下圖:
圖20 Subversion配置界面
點擊 enter credential 輸入用戶名和密碼(我猜你們通常都是使用的用戶名和密碼登錄的)
圖21 Subversion權限認證界面
Ps:svn的用戶名和密碼設置了是沒有辦法在web界面修改的。若是要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml文件(點到爲止,畢竟這只是入門教程)
在其餘項目構建完成後才執行構建:指定的項目完成構建後,觸發此項目的構建。
Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您能夠指定一個定時做業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。若是發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。
Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而無論SCM是否有變化。若是想在這個Job中運行一些測試用例的話,它就頗有幫助。
圖22 Maven構建配置界面
2013-08-22補充Goals and options :clean install -Dmaven.test.skip=true #加入了跳過測試的代碼
Root POM:填寫你項目的pom.xml文件的位置,注意:是相對位置,若是該文件不存在,會有紅色字提示。
部署請參考:war文件部署章節
使用Jenkins構建maven項目的一點當心得:
maven項目的構建是比較麻煩的,若是你的項目是下圖這種結構。那麼恭喜你!你新建一個job就能夠了,由於只有一個根。若是你的svn地址是:https://192.xxx/Pe_Project/root-pom,那麼Root POM只須要保持默認就好了,由於Jenkins能夠再workspace目錄下面找到pom.xml文件
若是你的svn地址是:https://192.xxx/Pe_Project,那麼Root POM須要指定爲root-pom/pom.xml,由於Jenkins能夠再workspace/root-pom目錄下面找到pom.xml文件
圖23 Maven項目結構界面1
上面這種方法打包的時候很是簡單,可是用eclipse開發的時候你就不右鍵run as —>tomca啓動了,若是你想使用這種方式,將tomcat換成jetty便可。
若是你的項目是下圖這種結構,那麼很是悲劇的告訴你,你要創建好幾個job來構建這一個項目,由於這個項目有4個根。
圖24 Maven項目結構界面2
上面這種方法打包的時候比較麻煩,可是用eclipse開發的時候你就可使用右鍵run as —>tomca啓動了
圖25 構建後操做界面
選擇Add post-build action,而後選擇E-mail Notification,以下圖:
圖26 收件人列表界面
在Recipients中輸入收件人郵件地址,若是用多個收件人用「,」英文逗號隔開
首先你必須安裝好Deploy Plugin插件,而後在tomcat的conf目錄配置tomcat-users.xml文件,在<tomcat-users>節點裏添加以下內容:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="username" password="password" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
引號裏的username和password能夠隨便替換,待會要用的。
好了,回到Jenkins項目配置頁面:
圖27 構建後操做界面
選擇Add post-build action,而後選擇Deploy war/ear to a container,以下圖:
圖28 遠程部署配置界面
WAR/EAR files:war文件的存放位置,如:target/test.war 注意:相對路徑,target前是沒有/的。
Context path:訪問時須要輸入的內容,如ofCard訪問時以下:http://192.168.x.x:8080/ofCard/若是爲空,默認是war包的名字。
Container:選擇你的web容器,如tomca 6.x
Manager user name:填入tomcat-users.xml配置的username內容
Manager password:填入tomcat-users.xml配置的password內容
Tomcat URL:填入http://192.168.x.x:8080/
Deploy on failure:構建失敗依然部署,通常不選擇
注意:雖然這種部署方法可能會致使tomcat加載時出現卡死的現象。可是也是最簡單的部署方式。若是卡死了重啓下就行了,將tomcat的java內存參數調高能夠解決這個問題。
最後不要忘記點擊保存喔。
好了!到此一個項目的獲取源碼,打包,遠程部署,郵件通知就完成了。
當任務一旦運行,您將會看到這個任務正在隊列中的儀表板和當前工做主頁上運行。這兩種顯示以下。
圖29 主頁監控(左),項目監控(右)
一旦構建完成後,完成後的任務將會有三個地方進行顯示。
你能夠在Jenkins的控制面板上看到它,以下圖。
圖30 主頁項目界面
在上面展現的截圖中,您將注意到有兩個圖標描述當前做業的狀態。S欄目表明着「最新構建狀態」,W欄目表明着「構建穩定性」。Jenkins使用這兩個概念來介紹一個做業的整體情況:
構建狀態:下圖中分級符號概述了一個Job新近一次構建會產生的四種可能的狀態:
Successful:完成構建,且被認爲是穩定的。
Unstable:完成構建,但被認爲不穩定。
Failed:構建失敗。
Disabled:構建已禁用。
圖31 構建狀態界面
構建穩定性: 當一個Job中構建已完成並生成了一個未發佈的目標構件,若是您準備評估這次構建的穩定性,Jenkins會基於一些後處理器任務爲構建發佈一個穩健指數 (從0-100 ),這些任務通常以插件的方式實現。它們可能包括單元測試(JUnit)、覆蓋率(Cobertura )和靜態代碼分析(FindBugs)。分數越高,代表構建越穩定。下圖中分級符號概述了穩定性的評分範圍。任何構建做業的狀態(總分100)低於80分就是不穩定的。
圖32 構建穩定性界面
你也能夠在當前Job主界面上看到它,以下圖左下部分
圖33 項目主界面
當前做業主頁上還包含了一些有趣的條目。左側欄的連接主要控制Job的配置、刪除做業、構建做業。右邊部分的連接指向最新的項目報告和構件。
經過點擊構建歷史(Build History)中某個具體的構建連接,您就能跳轉到Jenkins爲這個構建實例而建立的構建主頁上。以下圖
圖34 構建歷史界面
若是你想經過視圖輸出界面來監控當前任務的進展狀況。你能夠單擊Console Output(控制檯輸出)。若是工做已完成,這將顯示構建腳本產生的靜態輸出;若是做業仍然在運行中,Jenkins將不斷刷新網頁的內容,以便您能夠看到它運行時的輸出。以下圖:
圖35 控制檯輸出界面
從Jenkins現有的功能擴展或開發者們爲Jenkins提供的新功能均可以稱之爲Jenkins插件。有些插件能夠無縫添加到您的構建過程,而其它,諸如除CVS和Subversion的SCM插件則須要源代碼控制系統的支持。
Jenkins 插件管理器容許您安裝新的插件,和更新您Jenkins服務器上的插件。管理者將鏈接到聯機資料庫,檢索可用的和已更新的插件。若是您的Jenkins服務器 沒法直接鏈接到外部資源,您能夠從Jenkins網站上下載。
在已運行的Jenkins主頁中,點擊左側的系統管理—>管理插件進入以下界面:
圖36 插件管理界面
它包含四個標籤:
更新:清單中列示了Jenkins爲某些插件搜索到了可用的更新。列出的每一個插件能夠被選擇並應用更新。
可選安裝:清單中列示了可用於安裝(而不是目前已安裝的)的全部插件。列出的每一個插件均可以被選擇並安裝。
已安裝:清單中列示了已經安裝的插件。
高級:容許您經過設定HTTP代理的方式使Jenkins與在線插件庫創建鏈接。此外,還提供了一個上傳設備,能夠安裝你在Jenkins之外已下載的那些插件。
由上圖可知,Jenkins缺省集成了maven2插件,而且一旦插件有新版本,會提示更新新版本插件。
若是想安裝新的插件,能夠點擊tab分頁中的可選插件。以下圖:
圖37 可選插件界面
從圖可知,各類Jenkins插件根據以前所記述的類型進行分門別類。可勾選任意想安裝的Jenkins插件,點擊Install without restart按鈕進行安裝。安裝後,全部插件以hpi做爲後綴名放置在plugins文件夾下。若是是高級用戶還能夠自行開發插件方便具體項目使用。
注意:安裝完成後須要重啓Jenkins部署的容器。這樣才能使用新裝的插件。
Jenkins運行自動部署war包到servlet容器內,要實現這個功能必須安裝一個插件。
圖38 安裝插件界面
圖39 插件安裝界面
好了,到此Deploy Plugin插件安裝完成!