Jenkins系列—安裝與配置

在最簡單的情況下,Jenkins 只需要兩個步驟:

1.下載最新的版本(一個 WAR 文件)。Jenkins官方網址http://Jenkins-ci.org/

2.運行 java -jar jenkins.war

注意:Jenkins 需要運行 Java 5以及以上的版本。

 

還有一種安裝方式就是將下載的war包文件部署到 servlet 容器,然後啓動容器,在瀏覽器的URL地址欄中輸入類似http://localhost:8080/jenkins/這樣的地址即可。下圖是安裝成功後的界面(使用的是Linux+Tomcat6+Java6環境):



1 Jenkins配置

1.1 系統管理


在已運行的Jenkins主頁中,點擊左側的系統管理進入如下界面:


1.1.1 提示信息

1.1.1.1 Utf-8編碼

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編碼,配置tomcatconf目錄的server.xml文件


Ps:如果Job的控制檯中文輸出亂碼,請將URIEncoding=”utf-8”更改爲useBodyEncodingForURI="true"

1.1.1.2 新的版本

New version of Jenkins (1.518.JENKINS-14362-jzlib) is available for download (changelog).

提示有新的版本可以下載了,喜歡更新的點擊download去下載吧!

1.1.1.3 安全設置


Jenkins允許網絡上的任何人代表您啓動進程。考慮至少啓用身份驗證來阻止濫用。點擊Dismiss忽略該消息,點擊Setup Security進入設置界面.詳細設置請參考 Configure Global Security(安全設置章節


1.1.2 系統設置

在已運行的Jenkins主頁中,點擊左側的系統管理—>系統設置進入如下界面:


特別需要注意的是生成等待時間的設定

1.1.2.1 JDKMavenAnt配置

配置一個JDKAntMaven實例,請在每一節下面單擊Add(新增按鈕,這裏將添加實例的名稱和絕對地址。下圖描述了這兩個部分。


JDK別名:給你看的

JAVA_HOME:這個是本機JDK的安裝路徑(錯誤的路徑會有紅字提示你的)

自動安裝:不推薦這個選項

後面AntMaven的配置是一樣的,JDKoracle官網下載,AntMavenapache官網下載

1.1.2.2 郵件通知配置

配置發件人地址

System Admin e-mail addressJenkins郵件發送地址,如果你這個沒有配置,等着發郵件的時候報錯吧


 配置郵件通知


這個就非常的簡單了,根據的的郵箱提供者的參數配置就行了。

Ps:小技巧:用戶默認郵件後綴配置了後,以後你填寫郵件地址只需要@之前的就行了

1.1.3 Configure Global Security(安全設置)

在已運行的Jenkins主頁中,點擊左側的系統管理—>Configure Global Security進入如下界面:


保存後系統管理中就出現管理用戶的選項。頁面右上角也會出現登錄/註冊的選項。

1.1.4 管理用戶設置

在右上角點擊註冊


點擊sign up按鈕,提示你現在已經登錄.返回首頁.

登錄後和匿名賬號看到的首頁有幾點不同,如下圖紅框所示:

 


1.1.5 管理插件設置

建議先閱讀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

1.2 項目構建設置

1.2.1 構建自由風格的Job

1.2.1.1 新建自由風格構建任務

在已運行的Jenkins主頁中,點擊左側的新建Job進入如下界面:



這時,需要爲新的構建任務指定一個名稱。(這裏輸入的任務名稱爲:Ant_test)這裏有幾種的任務類型可供選擇,鑑於初步介紹,先選擇構建一個自由風格的軟件項目。對於其他的類型,經常使用的是拷貝已存在任務;這主要爲了能在現有的任務基礎上新建任務。點擊OK按鈕,

3.2.1.2 構建任務配置


源碼管理配置

演示是使用Subversion的鏈接,在Repository URL中輸入你的項目鏈接,如果沒有權限則會提示如下圖:


點擊 enter credential 輸入用戶名和密碼(我猜大家一般都是使用的用戶名和密碼登陸的)


Pssvn的用戶名和密碼設置了是沒有辦法在web界面修改的。如果要修改則先去Jenkins目錄刪除hudson.scm.SubversionSCM.xml文件(點到爲止,畢竟這只是入門教程)


 構建觸發器


 在其他項目構建完成後才執行構建:指定的項目完成構建後,觸發此項目的構建。

Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。如果發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。

Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而不管SCM是否有變化。如果想在這個Job中運行一些測試用例的話,它就很有幫助。


Ant構建配置


 因爲我的項目是用ant腳本實現的編譯和打包,所以我選擇的是Invoke AntAnt Version選擇你Ant配置的那個名字,注意不要選擇default喔,那個選擇了沒有用。


如果你的構建腳本build.xml不在workspace根目錄、或者說你的構建腳本不叫build.xml。那麼需要在高級裏設置Build File選項的路徑,指明你的腳本。注意:是相對路徑


部署請參考:war文件部署章節

3.2.2 構建Maven風格的Job

3.2.2.1 新建Maven構建任務


這時,需要爲新的構建任務指定一個名稱。(這裏輸入的任務名稱爲:maven_test)這裏有幾種的任務類型可供選擇,鑑於初步介紹,先選擇構建一個maven2/3項目。對於其他的類型,經常使用的是拷貝已存在任務;這主要爲了能在現有的任務基礎上新建任務。點擊OK按鈕


構建任務配置


 源碼管理配置


演示是使用Subversion的鏈接,在Repository URL中輸入你的項目鏈接,如果沒有權限則會提示如下圖:

點擊 enter credential 輸入用戶名和密碼(我猜大家一般都是使用的用戶名和密碼登陸的)

構建觸發器


在其他項目構建完成後才執行構建:指定的項目完成構建後,觸發此項目的構建。

Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。如果發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。

Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而不管SCM是否有變化。如果想在這個Job中運行一些測試用例的話,它就很有幫助。


 Maven構建設置



2013-08-22補充Goals and optionscleaninstall  -Dmaven.test.skip=true  #加入了跳過測試的代碼

Root POM:填寫你項目的pom.xml文件的位置,注意:是相對位置,如果該文件不存在,會有紅色字提示。

部署請參考:war文件部署章節


 構建maven項目的心得


使用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文件

上面這種方法打包的時候非常簡單,但是用eclipse開發的時候你就不右鍵run as —>tomca啓動了,如果你想使用這種方式,將tomcat換成jetty即可。


 如果你的項目是下圖這種結構,那麼非常悲劇的告訴你,你要建立好幾個job來構建這一個項目,因爲這個項目有4個根。


上面這種方法打包的時候比較麻煩,但是用eclipse開發的時候你就可以使用右鍵run as —>tomca啓動了

3.2.3 郵件通知設置

選擇Add post-build action,然後選擇E-mail Notification,如下圖:


1.2.4 War文件部署設置

首先你必須安裝好Deploy Plugin插件,然後在tomcatconf目錄配置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"/>

引號裏的usernamepassword可以隨便替換,待會要用的。

好了,回到Jenkins項目配置頁面:

 

選擇Add post-build action,然後選擇Deploy war/ear to a container,如下圖:


WAR/EAR fileswar文件的存放位置,如: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加載時出現卡死的現象。但是也是最簡單的部署方式。如果卡死了重啓下就好了,將tomcatjava內存參數調高可以解決這個問題。


最後不要忘記點擊保存喔。

好了!到此一個項目的獲取源碼,打包,遠程部署,郵件通知就完成了。

1.3 監控

當任務一旦運行,您將會看到這個任務正在隊列中的儀表板和當前工作主頁上運行。這兩種顯示如下

一旦構建完成後,完成後的任務將會有三個地方進行顯示。

你可以在Jenkins的控制面板上看到它,如下圖。


在上面展示的截圖中,您將注意到有兩個圖標描述當前作業的狀態。S欄目代表着最新構建狀態W欄目代表着構建穩定性Jenkins使用這兩個概念來介紹一個作業的總體狀況:

構建狀態:下圖中分級符號概述了一個Job新近一次構建會產生的四種可能的狀態: 

Successful:完成構建,且被認爲是穩定的。

Unstable:完成構建,但被認爲不穩定。

Failed:構建失敗。

Disabled:構建已禁用。

構建穩定性當一個Job中構建已完成並生成了一個未發佈的目標構件,如果您準備評估此次構建的穩定性,Jenkins會基於一些後處理器任務爲構建發佈一個穩健指數 (0-100 ),這些任務一般以插件的方式實現。它們可能包括單元測試(JUnit)、覆蓋率(Cobertura )和靜態代碼分析(FindBugs)。分數越高,表明構建越穩定。下圖中分級符號概述了穩定性的評分範圍。任何構建作業的狀態(總分100)低於80分就是不穩定的。


你也可以在當前Job主界面上看到它,如下圖左下部分


當前作業主頁上還包含了一些有趣的條目。左側欄的鏈接主要控制Job的配置、刪除作業、構建作業。右邊部分的鏈接指向最新的項目報告和構件。


通過點擊構建歷史(Build History)中某個具體的構建鏈接,您就能跳轉到Jenkins爲這個構建實例而創建的構建主頁上。如下圖

如果你想通過視圖輸出界面來監控當前任務的進展情況。你可以單擊Console Output(控制檯輸出)。如果工作已完成,這將顯示構建腳本產生的靜態輸出;如果作業仍然在運行中,Jenkins將不斷刷新網頁的內容,以便您可以看到它運行時的輸出。如下圖

2 Jenkins插件

Jenkins現有的功能擴展或開發者們爲Jenkins提供的新功能都可以稱之爲Jenkins插件。有些插件可以無縫添加到您的構建過程,而其它,諸如除CVSSubversionSCM插件則需要源代碼控制系統的支持。

2.1 Jenkins插件安裝

Jenkins 插件管理器允許您安裝新的插件,和更新您Jenkins服務器上的插件。管理者將連接到聯機資料庫,檢索可用的和已更新的插件。如果您的Jenkins服務器 無法直接連接到外部資源,您可以從Jenkins網站上下載。

在已運行的Jenkins主頁中,點擊左側的系統管理—>管理插件進入如下界面

它包含四個標籤:

更新:清單中列示了Jenkins爲某些插件搜索到了可用的更新。列出的每個插件可以被選擇並應用更新。

可選安裝:清單中列示了可用於安裝(而不是目前已安裝的)的所有插件。列出的每個插件都可以被選擇並安裝。

已安裝:清單中列示了已經安裝的插件。

高級:允許您通過設定HTTP代理的方式使Jenkins與在線插件庫建立連接。此外,還提供了一個上傳設備,可以安裝你在Jenkins以外已下載的那些插件。

由上圖可知,Jenkins缺省集成了maven2插件,並且一旦插件有新版本,會提示更新新版本插件。

如果想安裝新的插件,可以點擊tab分頁中的可選插件。如下圖:

從圖可知,各種Jenkins插件根據之前所記述的類型進行分門別類。可勾選任意想安裝的Jenkins插件,點擊Install without restart按鈕進行安裝。安裝後,所有插件以hpi作爲後綴名放置在plugins文件夾下。如果是高級用戶還可以自行開發插件方便具體項目使用。

注意:安裝完成後需要重啓Jenkins部署的容器。這樣才能使用新裝的插件。

2.2 Jenkins插件安裝示例

Jenkins運行自動部署war包到servlet容器內,要實現這個功能必須安裝一個插件。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章