使用jenkins實現持續集成


一、jenkins 介紹

  •   它是一個自動化的周期性的集成測試過程,從檢出代碼、編譯構建、運行測試、結果記錄、測試統計等都是自動完成的,無需人工干預,有利於減少重復過程以節省時間、費用和工作量;
  • 它需要有專門的集成服務器來執行集成構建;
  • 它需要有代碼托管工具支持,比如SVN;
  • Jenkins的主要目標是監控軟件開發流程,快速顯示問題;
  • jenkins持續集成中的任何一個環節都是自動完成的,無需太多的人工干預,所以它有利於減少重復過程以節省時間、費用和工作量。

  

二、下載安裝啟動

本文介紹的是在CentOS系統下,用rpm包安裝方式進行啟動

2.1 安裝准備

軟件

版本

說明

JDK

1.7.0_76

解壓安裝,注意設置好環境變量

ant

1.9.9

JDK1.7.x只能安裝1.9.x系列ant

Jenkins

2.33

JDK1.7.x只能安裝Jenkins2.3.x系列Jenkins

2.2 安裝ant

ant是基於java的一款構建工具,通過配置build.xml,讓項目可以進行編譯,部署,打包。

因為我們要實現自動構建,所以首先要安裝ant。

  • http://ant.apache.org 上下載tar.gzant

  • wget http://www-eu.apache.org/dist//ant/binaries/apache-ant-1.9.9-bin.tar.gz

  • 解壓tar

  • tar -zxvf apache-ant-1.9.9-bin.tar.gz

  • 移動到/usr/share

  • cp -r apache-ant-1.9.9 /usr/share

  • 切換到/usr/share目錄下,重命名

  • cd /usr/share

  • mv apache-ant-1.9.9 ant

  • 配置環境變量

  • vi /etc/profile

#set Ant enviroment

export ANT_HOME=/usr/share/ant

export PATH=$PATH:$ANT_HOME/bin

  • 立刻將配置生效

  • source /etc/proifle

  • 測試ant是否生效

  • ant -version

出現如下提示便表示安裝成功。

ant的使用查看這篇文章ant在持續集成的應用

2.3 卸載及安裝jenkins

2.3.1 卸載原來安裝的rpm包

  首先查看是否已經安裝過jenkins
rpm -qa|grep jenkins
   我這里用的是jdk1.7,所以下載版本http://pkg.jenkins-ci.org/redhat/jenkins-2.33-1.1.noarch.rpm(jenkins下載地址:http://pkg.jenkins-ci.org/redhat/),
   原先現在2.5版本以上,版本太高,啟動報“java.lang.UnsupportedClassVersionError”錯, 所以要卸載之前安裝的jenkins-2.54-1.1.noarch,使用如下命令
# 卸載原先高版本的jenkins
rpm -e nodeps jenkins-2.54-1.1.noarch

2.3.2 安裝jenkins

# 下載jenkins-2.33-1.1.noarch.rpm
wget http://pkg.jenkins-ci.org/redhat/jenkins-2.33-1.1.noarch.rpm
#安裝jenkins-2.33-1.1.noarch.rpm
sudo rpm -ih jenkins-2.33-1.1.noarch.rpm

出現如下圖

表示安裝成功,安裝成功會自動生成下面文件: 

/usr/lib/jenkins/jenkins.war            #WAR包 
/etc/sysconfig/jenkins                  #配置文件
/var/lib/jenkins/                       #默認的JENKINS_HOME目錄
/var/log/jenkins/jenkins.log            #Jenkins日志文件

2.4 啟動

啟動用如下命令:

sudo service jenkins start

 報了如下錯誤:

會報這個錯誤,這是由於沒有配置java環境,有兩種方法可以解決:

2.4.1 安裝jdk環境

  先檢查一下java虛擬機有沒有安裝,如果沒有就安裝

java --version

2.4.2 在jenkins配置文件中配置

  需要“vi /etc/init.d/jenkins”,把jdk路徑加上,如下:

# Search usable Java as /usr/bin/java might not point to minimal version required by Jenkins.
# see http://www.nabble.com/guinea-pigs-wanted-----Hudson-RPM-for-RedHat-Linux-td25673707.html
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
/home/lutong/soft/jdk1.7.0_76/bin/java "
for candidate in $candidates
do
  [ -x "$JENKINS_JAVA_CMD" ] && break
  JENKINS_JAVA_CMD="$candidate"
done

JAVA_CMD="$JENKINS_JAVA_CMD $JENKINS_JAVA_OPTIONS -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR"
PARAMS="--logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon"

上述配置文件中紅色加粗字體的內容是我配置自己的jdk路徑。由於我的系統中的java是自己解壓安裝的,所以我采用了第二種方式

再次啟動jenkins:

 

三、默認配置修改及初始化

3.1 修改配置文件

上面我們有提到配置文件是/etc/sysconfig/jenkins,修改如下兩項配置(根據實際需要設置)

#修改為18080,默認是8080
JENKINS_PORT="18080"
#內存設置,我這里設置成如下配置
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m"

3.2 初始化

  • 在瀏覽器中輸入172.16.7.109:8080/jenkins(默認是使用8080端口)

打開jenkins的后台控制頁面

初始化成功后會自動生成一個管理員密碼放到指定位置,根據頁面提示復制密碼粘貼到輸入框就可以登錄了


3.3 初始化安裝插件

  • 登錄成功后回讓你選擇插件的安裝,可以選擇建議的安裝也可以自己進行選擇,不清楚的話可以使用建議的安裝

    由於建議安裝的插件比較多,安裝的過程有點慢,多等待一會

  • 由於建議安裝的插件比較多,安裝的過程有點慢,多等待一會

  •  

  • 安裝的過程也可能因為網絡等一些原因安裝會失敗,現在可以無視它,點擊Continue,后面再進行手動的安裝


  • 安裝完成
  • 安裝完成后最好新創建一個管理員賬戶代替之前的臨時自動生成的密碼賬戶
  • 創建新的管理員賬戶
  • 初始化完成,進入后台管理界面

     


    初始化完成


    后台管理界面

    3.4 初始化配置

    3.4.1 修改工作空間

    從主頁面直接到系統管理>系統配置,點擊右邊高級按鈕

    工作空間目錄直接修改默認工作空間目錄為自定義的/home/jenkins/workspace/${ITEM_FULLNAME},如下圖:

     

    3.4.2 全局配置ant

    從主頁面直接到系統管理>Global Tool Configuration”,點擊右邊“Ant安裝按鈕,

    name中填入名字,可以自己取,這里我填寫成ant(到時Invoke Ant時,需要選擇ant),ANT_HOME填入Ant的環境變量

     

     3.4.3 全局配置JDK

    從主頁面直接到系統管理>Global Tool Configuration”,點擊右邊“JDK安裝按鈕,

     

     

     name中填入名字,可以自己取,這里我填寫成ant(到時Invoke Ant時,需要選擇ant),ANT_HOME填入Ant的環境變量

    3.4.4 配置Credentials

    這里主要是添加信任證書,因為我的工程的源碼是放在SVN上,所以在這里我們就是要添加SVN的驗證,即SVN的用戶名和密碼。

    從主頁面左邊菜單點擊到“Credentials”,進入到 Credentials列表,如圖所示:

     

    點擊Name列中即可對Credentials中用戶進行修改、新增、刪除操作,如下圖所示:

     

    修改完后,點擊下面“Save”保存按鈕即可

     

四、建立 Jenkins 自動化持續集成項目

4.1 安裝插件

4.1.1 常用插件

  一般情況下,常使用到如下這些插件:

  • FindBugs Plug-in: 是一個靜態分析工具,它檢查類或者 JAR 文件,將字節碼與一組缺陷模式進行對 比以發現可能的問題。
  • Checkstyle Plug-in:是一個靜態分析工具,檢查Java程序代碼。
  • Deploy to container Plugin:用於構建項目后,自動發布war包重新部署的插件
  • SSH Plugin:這個插件使用 SSH 協議執行遠程 shell 命令。
  • Multijob Plugin:這個插件是一個將多個項目連接在一起的插件。

4.1.2 安裝步驟

  下面以安裝Checkstyle插件為例進行說明:

在左上角“系統管理”中往下拉,找到“管理插件”點擊進去就可以查看和管理所有的插件,點擊“可選插件”顯示所有jenkins支持的插件,在右上角的“過濾”輸入框中,輸入需要安裝的插件名就可以篩選查找到想要的插件

  然后切換到“可選插件”,在右上角“過濾”框中輸入checkstyle,查詢結果如下

然后,點擊“直接安裝”按鈕,其他插件也是這樣的安裝方式!


免責聲明!

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



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