持續集成之jenkins(二)

1.1 jenkins安裝與升級

1、下載地址(官網):http://jenkins-ci.org/

 

2、安裝:比較簡單,這裏就是將下載的jenkins.war放到tomcat下即可。然後訪問配置。

這裏需要說一下的是,我是在linux下用root賬號安裝的jenkins。當我們安裝成功後進行配置的時候,相關的配置文件生成在/root/.jenkins/目錄下。當我們從svn獲取相關文件的時候也一併存儲在這個根目錄下的目錄中。

 

3、升級:現階段升級只需要直接替換war包,原有設置項都會生效。

1.2 jenkins配置

1.2.1 安裝ant

從官網下載了一個ant的最新版本。解壓到/usr/local/目錄

做相關環境變量聲明,這裏我將環境變量聲明到/etc/profile.d/目錄下,寫了一個java.sh shell腳本。

 

如下:

JAVA_HOME=/usr/java/jdk1.6.0_22
ANT_HOME=/usr/local/apache-ant-1.8.4
 
 
CATALINA_BASH=$TOMCAT_HOME
CATALINA_HOME=$TOMCAT_HOME
JRE=$JAVA_HOME/jre
 
MAVEN_HOME=/usr/local/maven3
 
CLASSPATH=$JAVA_HOME/lib:$JRE/lib
PATH=$MAVEN_HOME/bin:$ANT_HOME/bin:$JAVA_HOME/bin:$JRE/bin:$PATH
export JAVA_HOME JRE CLASSPATH PATH  CATALINA_BASH CATALINA_HOME MAVEN_HOMEANT_HOME


 

1.2.2 安裝maven

到maven的官方站點下載maven的最新版本3.0.3版本。解壓到/usr/local/目錄下。同樣做環境變量聲明。這裏我在/etc/profile.d/目錄下寫了一個java.sh文件進行聲明。

如下:

JAVA_HOME=/usr/java/jdk1.6.0_22
ANT_HOME=/usr/local/apache-ant-1.8.4
 
 
CATALINA_BASH=$TOMCAT_HOME
CATALINA_HOME=$TOMCAT_HOME
JRE=$JAVA_HOME/jre
 
MAVEN_HOME=/usr/local/maven3
 
CLASSPATH=$JAVA_HOME/lib:$JRE/lib
PATH=$MAVEN_HOME/bin:$ANT_HOME/bin:$JAVA_HOME/bin:$JRE/bin:$PATH
export JAVA_HOME JRE CLASSPATH PATHCATALINA_BASH CATALINA_HOME MAVEN_HOME ANT_HOME


 

1.2.3 配置jenkins

“系統管理”-》“配置管理”中進行全局的相關配置

全局設置

主要是系統的全局目錄設置。這裏會自動生成到/root/.jenkins/ 下。這裏會將jenkins相關的數據存儲以及相關文件存放都統一放到這個目錄下。


全局環境變量設置

假如我們將findbugs這個插件想在項目中引入,那麼就需要需要環境變量設置。當然我們也可以設置其他的環境變量。這裏我們可以直接在jenkins中定義jenkins能使用的全局環境變量。如下圖:


配置JDK

jenkins是需要指定jdk進行代碼編譯檢查的。這裏可以指定JDK的相關配置路徑。如下圖:

 

配置ANT

jenkins需要指定ant的配置目錄,進行相關調用。如下圖:

配置maven

指定maven的相關目錄,同時也指定了maven運行時的內存。如下圖:


配置sonar runner

當我們創建一個job的時候可能需要通過sonar runner插件來完成sonar的調用,這裏我們指定安裝sonar2.0插件

配置sonar

jenkins的sonar插件相當於sonar的客戶端,這裏需要配置指定我們接收sonar數據的服務器,這裏我們需要配置下sonar的服務器端相關參數。如下圖:

郵件通知

當jenkins進行完成的時候,需要進行郵件通知,這裏就是設定發送郵件的SMTP服務器以及郵箱。如下圖:

 

1.3 創建JOB

針對一個項目的持續集成構建,需要進行相關的配置。並對之前之後進行相關插件的調用。

1.3.1 設置項目基本信息

主要是構建項目的名稱以及描述

構建項目的相關配置項。

如下圖示例:

 

1.3.2 高級設置選項

這裏的設置我是很少選擇,看個人需要了。如下圖:

 

1.3.3 源碼管理(指定SVN路徑)

這裏因爲公司的源碼服務器是svn,所以直接展示svn的設置了,如果是cvs也是可以的。這裏對svn的訪問權限是在系統全局設置中設定的。這裏只是指定具體的項目路徑。

如下圖:


1.3.4 構建觸發器

就是設定什麼時候觸發這個job的持續集成。

支持linux的時間格式。這裏我設置了每天執行一次。

如下圖:

 

1.3.5 配置構建之前的動作

這裏有一些在構建之前的相關操作動作。這裏我很少使用。如下圖示例:


1.3.6 指定pom.xml文件的執行命令

這裏在上邊源碼管理的時候將文件下載到/root/.jenkins/jobs/cmsouter_test/workspace/下

pom.xml文件一定要在這個目錄能找到。否則執行失敗。

 

常規命令執行

一般我們執行maven的命令如下:

mvn clean compilepackage

在jenkins的job中如何配置

在jenkins中配置的時候將mvn去掉。直接用“cleancompile package

如下圖示例:


1.3.7 配置構建之後的動作

我在構建之後執行了sonar的分析,通過sonar插件將構建相關數據發送到sonar服務器去進行分析。這裏需要進行一些配置。這裏一些配置參數必須設置,否則無法成功調用sonar服務器。

如下圖:

 

當然我們也可以不選擇sonar進行構建。不過我已經將findbugs之類的放到sonar中了。這樣一勞永逸。

 

這裏我項目配置內容如下:

sonar.projectKey=hd:cmsouter
sonar.projectName=cmsouter
sonar.projectVersion=1.0.0
 
sonar.sources=/root/.jenkins/jobs/cmsouter_test/workspace/src/main/java
sonar.language=java
 
sonar.doxygen.generateDocumentation=enable


進行sonar分析

這裏直接通過sonar runner和全局配置中的sonar配置項進行構建後的數據傳輸。

 

我們還可以直接通過pom.xml文件中直接進行sonar的調用。當然執行命令就需要帶有sonar的執行了。

mvn sonar:sonar 支持

大家看到命令行中支持mvn sonar:sonar 這個命令,那需要我們在maven的conf/setting.xml 中進行設置的。設置方式參考如下:

<profile>
           <id>sonar</id>
           <activation>
               <activeByDefault>true</activeByDefault>
           </activation>
           <properties>
               
               <sonar.jdbc.url>
                 jdbc:mysql://192.168.119.158:3306/sonar?useUnicode=true&characterEncoding=utf8
               </sonar.jdbc.url>
               <sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
               <sonar.jdbc.username>root</sonar.jdbc.username>
               <sonar.jdbc.password>password</sonar.jdbc.password>
               <sonar.host.url>
                 http://192.168.119.159:9000
               </sonar.host.url>
           </properties>
</profile>
 
 
 <activeProfiles>
         <activeProfile>sonar</activeProfile>
 </activeProfiles>


 

前提也是我們要先安裝好sonar的服務器端。這個只是通過pom.xml文件支持sonar執行命令的一種方式。

1.3.8 構建結果提醒設置

當我們構建完成後可以設置相關的郵件提醒。這裏參考示例如下:


1.4 增加負載節點

1.5 自動部署

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