Jenkins配置自動化構建


轉自: http://blog.sina.com.cn/s/articlelist_3053349671_14_1.html

Jenkins 簡介和安裝(一)

(2014-12-02 21:18:13)
 
 
 
Jenkins,之前叫做Hudson,是基於Java開發的一種持續集成工具,用於監控持續重復的工作,包括:
1、持續的軟件版本發布/測試項目。
2、監控外部調用執行的工作
Jenkins win下安裝
1.下載Jenkins 
2.安裝jdk、tomcat環境
3.將Jenkins.war 部署至tomcat,啟動tomcat,此時Jenkins部署成功,Jenkins的訪問 http://serverip:8080/jenkins,看到下面的頁面Jenkins啟動成功 Jenkins <wbr>簡介和安裝(一)
4.Jenkins在window下的默認工作空間用戶的目錄下.jenkins,一般情況下我們需要自己更改一下,因為放在默認路徑有些不方便,這個可以根據習好確認,我這里更改為D:\Jenkins\Jenkins。
設置系統環境變量
Jenkins <wbr>簡介和安裝(一)

5.此時我們主目錄配置成功,系統管理->系統配置->主目錄,如下圖顯示
Jenkins <wbr>簡介和安裝(一)
 
 
此時我們已經完整的將Jenkins的初始化工作搞得,下面我們來建立一個工程吧
 

Jenkins新建項目(二)

(2014-12-02 21:49:46)
 

我這里主要采用Jenkins 構建maven2/3項目,因為我們目前的開發語言采用的是java,而打包工具采用的maven,所以以下我配置的項目均采用的是maven2/3項目,構建Maven項目時,首先我們需要安裝配置外圍環境maven

1.maven環境安裝,由於maven的環境配置比較簡單,之前的博客也說過此處不在詳解

2.Jenkins中配置maven的環境變量,Jenkins中配置環境變量的時,如果你沒有安裝maven可以直接安裝,如果你安裝maven,那么只要設置環境變量即可

Jenkins新建項目(二)

 
   
 如果環境中沒有安裝maven只要勾選自動安裝,即可安裝,在安裝的過程中你可以選擇安裝的版本,而且有時候構建的項目中的maven版本不同,我們可以設置多個maven環境,只要點擊新增maven即可配置

3.配置好maven以后,我們下面要配置maven的配置文件,其實這里分為局部和全局配置文件,如果你安裝的maven保持默認,那么這里設置保持默認即可,如果你的maven的配置文件變更只要選擇"Settings file in filesystem",指定setting文件的位置即可。

Jenkins新建項目(二)
4.此時我們要配置我們的最重要的東西jdk,他的配置跟maven的配置一樣,只要指定jdk的環境變量即可,同時jdk也可以指定多個版本

Jenkins新建項目(二)

目前為止我們把所以的外網環境均配置完成,熟話說磨刀不誤砍柴。

5.新建maven2/3項目,輸入項目的名稱demo,點擊OK,此時我們的項目創建完成了,那么我們創建這個項目肯定要做一些什么事情,下面我介紹我們要做的事情

Jenkins新建項目(二)

下面我介紹一下Jenkins最簡單的功能,獲取代碼,編譯代碼,打包,這里我們采用的是SVN作為代碼管理服務器,首先我們需要在Jenkins服務器 上安裝svn的客戶端,並且svn可以自動獲取svn服務器的代碼,那么這里就有一個權限,只要在Jenkins服務器上驗證通過即可,這里我不詳細解釋 了

6.源代碼管理中選擇SVN選擇(SVN、CVS默認插件已經安裝,所以插件在這里不需要安裝了),只要在Repository URL中輸入SVN的路徑即可,其他的詳細我這里不說后面詳細解釋,這里只給大家解釋簡單的構建一個項目

Jenkins新建項目(二)
7.構建maven項目build這是必須設置的,因為這里不要是對代碼打包、編譯的一個選項

Jenkins新建項目(二)

這樣我們這里構建了一個最簡單的CI項目,點擊保存,即完成了項目的新建工作

8.構建時我們可以點擊"立即構建"或者首頁的 Jenkins新建項目(二),均可以構建項目,后面我在給大家介紹項目的發布
 

Jenkins 添加sonar對代碼靜態檢查(三)

(2014-12-03 20:58:27)
 
首先我這里要簡單的對sonar有個介紹
Sonar是一個用於代碼質量管理的開源平台,用於管理源代碼的質量,可以從七個維度檢測代碼質量
通過插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語言的代碼質量管理與檢測,看到這里我們是不是覺得soanr很強大呢,那么我們下來將sonar集成到Jenkins。
sonar的安裝和配置請查看我的另一個博客http://blog.sina.com.cn/s/blog_b5fe6b270102v7xj.html
之前我們發布的容器的時候需要安裝deploy的插件,那么我們通過sonar做靜態檢查的時候是否需要安裝其他的插件呢,這里必須需要安裝,我們需要去管理插件中安裝 Sonar Plugin,直接安裝即可,如果在線安裝失敗可以去官方下載。
soanr的插件安裝完成我們需要在系統管理
->系統設置 配置下soanr的環境變量,我們會發現在系統設置中多出了一項sonar的選項。
Jenkins <wbr>添加sonar對代碼靜態檢查(三)

我想這個soanr的配置選項有點特別的簡單,我這里就不一一說明了,因為我這里soanr不需要與maven集成、以及我的sonar服務器與數據庫都在同一台服務器,所以關於后面的選項我們沒有添加。
下面我們就可以再我們的項目中采用sonar對項目代碼進行靜態檢查,下面我們進入項目設置中
Jenkins <wbr>添加sonar對代碼靜態檢查(三)

后面沒有標記的選項都是關於maven的,我這里采用了全局配置,這里就不配置了,配置完成點擊保存,那么在執行任務的時候,就可以采用soanr進行代 碼檢查了,那么此時我們已經可以完成的構建一個CI項目了,后續我會給大家詳細的介紹一下Jenkins的功能,這里只是給大家做一個快速上手和入門的工 作
 

Jenkins部署Web項目到遠程tomcat(四)

(2014-12-03 19:11:26)
 
之前講到的是如何構建一個項目,並且將代碼進行編譯、打包,那么打包完成最后的結果就需要發布到應用服務器,將項目部署成功。在之前的項目中我們采用的shell腳本來部署,下面講解通過Jenkins部署web項目到遠程tomcat。
首先Jenkins提供了一個發布的插件deploy plugin,來幫助我們實現遠程部署,這個插件默認是不安裝的,所以需要我們自己手動的來安裝。
手動安裝deploy plugin 插件,我們可以在線安裝,也可以通過官方下載相關插件,下載地址: https://updates.jenkins-ci.org/download/plugins,我這里主要是通過Jenkins在線安裝。
1.系統管理->管理插件->可選插件->搜索“ Deploy to container Plugin”,勾選插件直接安裝,等着Jenkins自動安裝完成。此時我們打開我們之前新建的項目選擇“增加構建后的操作”中增加了一項“Deploy war/ear to a container",將我們的war和ear工程部署到容器。
Jenkins部署Web項目到遠程tomcat(四)

2.我們添加一個d eploy war/ear to a container選擇,Jenkins中構建后操作多出一個發布選項
Jenkins部署Web項目到遠程tomcat(四)
WAR/EAR files:是war包的相對路徑
content path:tomcat的發布路徑,即使用localhost/(content path設置的名字)來訪問項目.

contaners :發布到的容器,主要可發布到tomcat、jboss、GlassFish

deploy on failure:發生錯誤的時候是否發布到tomcat

3.點擊add contaners 添加發布的容器,我們這里要發布到tomcat,所以我這里添加的是tomcat

Jenkins部署Web項目到遠程tomcat(四)
Jenkins部署Web項目到遠程tomcat(四)

如果你部署的是集群環境那么可以添加多個容器來部署應用。
此時只要我們運行我們的任務即可將我們的應用發布到tomcat,記住這里要把應用服務器的防火牆關閉。
這里在多說一點tomcat默認的登錄是注釋的,我們需要打開。
在tomcat/conf/tomcat-users.xml下添加以下代碼即可,因為之前的博客講解過tomcat管理權限的配置,這里就不重復講解。

Jenkins定時構建項目(五)

(2014-12-03 21:33:14)
 
之前我們說的都是手動的構建一個項目,我們是不是可以自動的來構建項目那么此時我們需要使用Poll SCM和Build periodically,我們在構建觸發中選擇這兩項即可,其實他們兩個就是一個自動任務,這里的語法也是cron的語法,沒有什么特別
Jenkins定時構建項目(五)
觸發遠程構建:觸發遠程構建
Build after other projects are built:在其他項目觸發的時候觸發,里面有分為三種情況,也就是其他項目構建成功、失敗、或者不穩定(這個不穩定我這里還木有理解)時候觸發項目
Poll SCM:定時檢查源碼變更(根據SCM軟件的版本號),如果有更新就checkout最新code下來,然后執行構建動作。我的配置如下:
*/5 * * * * (每5分鍾檢查一次源碼變化)
Build periodically:周期進行項目構建(它不care源碼是否發生變化),我的配置如下:
0 2 * * * (每天2:00 必須build一次源碼)
那么是不是有這個就很強大了,不需要我們手動的點擊構建了,因為我之前在Microsoft的時候我們的項目都是半夜開始工作,到第二天早晨的時候開發查看結果即可。
有朋友就要說啦,那么我們是不是需要每天都登錄上去看構建結果呢,這里我跟大家說,這個不需要,下次我給大家解釋Jenkins的郵件發送功能,希望對大家有幫助
 

jenkins 配置郵件

(2015-03-03 10:55:38)
 
jenkins 自帶一個郵件的通知的功能,但是自帶的郵件通知功能,有點簡單不能自定義信息,所以我們安裝郵件插件Email-ext plugin。
1.首先在系統管理-插件管理-安裝Email-ext plugin
2.系統設置中配置郵件服務器,在系統設置頁面找到"郵件通知"的設置發送郵件的服務器,我這里以163郵箱為例如圖
jenkins <wbr>配置郵件

設置完成以后,我們點擊Test Configuration,發送測試郵件時候出現失敗,這里因為我們首先需要設置一下發送郵件的郵箱賬號,這里只是配置郵件服務器地址、賬號和密碼,但是jenkins不知道采用哪個郵箱去發送,在系統設置頁面找到“Jenkins Location”設置“系統管理員郵件地址”,必須與上圖設置的用戶保持一致。
此時我們已經把可以發送郵件了,下面我們來配置要發送的內容
3.系統設置中找到Extended E-mail Notification位置配置發送信息,下圖是我自己配置的,僅供參考
jenkins <wbr>配置郵件


具體的說明我就不解釋了,字面已經說的很清楚了,這樣我們就配置好郵件通知了
下面我們根據項目需要來配置發送人,以及觸發條件。
4.在構建后的操作添加“Editable Email Notification”
jenkins <wbr>配置郵件

這樣jenkins的郵件通知就配置完成了。
 
 
 
 

使用Jenkins配置自動化構建

收藏:

持續集成是個簡單重復勞動,人來操作費時費力,使用自動化構建工具完成是最好不過的了。
為了實現這個要求,我選擇了 Jenkins
從 http://mirrors.jenkins-ci.org/windows/latest下載windows下的最新安裝版jenkins。(如果不 能安裝,從http://mirrors.jenkins-ci.org/war/latest/jenkins.war下載war包,手動配置,配置說 明參見https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins)。
1.安裝
這里直接使用安裝包,安裝過程很簡單,這里就再說明了。
安裝后 自動創建了一個windows服務:Jenkins,默認使用的端口是8080,如果需要修改,打開安裝目錄下的jenkins.xml文件,修改  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" -- httpPort=8081</arguments>后保存,啟動jenkins服務。
打開http://192.168.0.10:8081/,看到類似下面的界面(我這里已經創建了一個任務):

說明jenkins已經安裝成功。
2. 創建任務
  2.1 點“新Job”,界面如下:

輸入任務名稱,任意名稱都可以,但最好是有意義的名稱,這里輸入的名稱和項目名稱相同為hummer
  2.2 選擇項目類型,因我的項目是maven項目,這里選擇“ 構建一個maven2/3項目”點擊”OK“進入下一個界面。
  2.3 界面如下:

源代碼管理根據自己的需要進行選擇,我的源代碼是使用svn管理的,這里選擇“Subversion Modules”,在"Repository URL"錄入你的svn倉庫地址;第一次錄入時還需要錄入svn倉庫的用戶名和口令。
剛才的那個界面比較大,向下滾動,中間部分的界面如下:
構建觸發器,我選擇“ Build whenever a SNAPSHOT dependency is built”,意思是依賴於快照的構建,應該是當svn有修改時就構建項目。
2.4 build設置不用修改,就使用pom.xml,目標選項也不用修改。
2.5 設置構建后的步驟,(Post Steps,可選設置 ),我這里要求構建成功后把war文件復制到指定的目錄,然后停運tomcat,刪除項目web目錄,啟動tomcat。
2.6 設置郵件通知 
勾選“ E-mail Notification”,在recipients中錄入要接收郵件的郵箱。
點“保存”,完成設置
3. 在工作區域的左邊菜單上點“立即構建”,開始構建項目,

如果構建成功,則項目狀態的S為藍色,如果失敗則為紅色。

構建完成,左邊菜單會顯示有“控制台輸出”,點擊可以查看控制台詳細輸出。構建錯誤時也可以根據相應的錯誤信息進行修改。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM