最近花了幾天時間搭建一個Jenkins環境,實現自動更新編譯代碼,及集成FindBugs插件。本篇博客將從以下幾點對Jenkins總結:
- Jenkins簡介
- Jenkins環境準備
- Jenkins環境搭建
- Jenkins環境配置
- FindBugs插件集成
1 Jenkins簡介
持續集成:一種軟件開發實踐,開發人員提交了新代碼之後,集成工具能夠自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。
Jenkins:一個開源軟件項目,基於Java開發的一種持續集成工具,用於監控持續重複的工作,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。
2 Jenkins環境準備
2.1 Jdk安裝:
http://www.oracle.com/technetwork/java/javase/downloads/index.html,建議不要下載最新的JDK
2.2 Git安裝:
- linux Fedora系列安裝命令:sudo yum install git
- linux Debian系列安裝命令:sudo apt-get install git
- 驗證安裝:git version
git version 2.15.0
- 安裝完成後,可參考http://blog.csdn.net/guweiyu_thinker/article/details/78186172,配置客戶端及SSH公鑰。
注意:如果在執行git clone過程中出現錯誤“The requested URL returned error: 401 Unauthorized while accessing”,這是由於版本問題,重新下載最新的版本,具體如下:
解壓:tar -xzvf git-**.tar.gz
進入git目錄:# cd git-**
編譯安裝:
autoconf
./configure --prefix=/usr/local
make && make install
重置環境變量(本文是通過設置軟連接實現的)
rm /usr/bin/git
ln -s /usr/local/bin/git /usr/bin/git
2.3 maven安裝:
- 從官網上下載maven:http://maven.apache.org/download.cgi
解壓至/usr/local目錄下:tar -xzvf apache-maven-3.2.5-bin.tar.gz
設置環境變量:修改~/.bash_profile,添加如下:
export MAVEN_HOME="/usr/local/apache-maven-3.2.5"
export PATH="${PATH}:${MAVEN_HOME}/bin"
- 驗證安裝:mvn -v,如果出現如下類似信息,安裝成功
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1;2014-12-15T01:29:23+08:00)
Maven home: /usr/local/apache-maven-3.2.5
Java version: 1.7.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"
- 按照需求修改settings.xml文件,正常位於:/usr/local/apache-maven-3.2.5/conf,或者通過:find . -name settings.xml查找。
3 Jenkins環境搭建
- 從jenkins官網上https://jenkins.io/download/對應系統的Jenkins,筆者的系統是:
Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013
下載版本jenkins-2.46.1-1.1.noarch.rpm
安裝Jenkins:sudo rpm -ih jenkins-2.9-1.1.noarch.rpm
自動安裝完成後,文件所在的目錄如下:
war包:/usr/lib/jenkins/jenkins.war
配置文件:/etc/sysconfig/jenkins
默認的JENKINS_HOME目錄:/var/lib/jenkins/
Jenkins日誌文件/var/log/jenkins/jenkins.log
- 啓動或者停止Jenkins
啓動Jenkins:sudo service jenkins start
Starting Jenkins [確定]
停止Jenkins:sudo service jenkins stop
Shutting down Jenkins [確定]
- 訪問地址:http://192.168.1.227:8080/,如果是搭建在本地環境可以直接訪問:http://localhost:8080
cat /var/lib/jenkins/secrets/initialAdminPassword,將初始化密碼粘到文本框中。/Users/guweiyu/Desktop/Jenkins系統設置.png
4 Jenkins環境配置
Jenkins的環境配置全部在’系統配置’中:
在界面裏可以進行系統的全局設置,插件管理(比如安裝maven插件,Git插件,Mail插件,SSH插件等等),Global Tool Configuration等等。
4.1 管理插件
選擇‘管理插件’,安裝FindBugs插件:’FindBugs Plug-in’,郵件通知插件:‘Email Extension Plugin’等。
4.2 Git+Maven本地環境裝載
選擇‘Global Tool Configuration’,將本地JDK路徑,GIT路徑,maven路徑加入到配置中,當然也可以通過Jenkins自動下載
4.3 郵件通知及遠程SSH連接
選擇‘系統設置’
- 添加SSH遠程連接,在SSH remote hosts處,添加:
- 添加郵件通知,在‘Jenkins Location’處添加系統管理員地址
- 在‘Extended E-mail Notification’處配置郵件SMTP信息
- 在‘郵件通知’處同上配置
至此,配置完成,下面就可以新建一個工程了。
4.4 Maven工程構建
- 在主界面,選擇‘新建工程’,然後選擇‘構建一個maven項目
- 在‘源碼管理’,設置:
- ‘構建觸發器’,設置定時任務,當git發生更新時,重新構建工程:
- ‘構建’,設置mvn打包方式,本編譯跳過測試案例編譯
注意:中間可能設置許多認證方面的信息,可以在主界面‘Credentials’處添加,比如git賬戶,ssh遠程訪問認證等
5 FindBugs插件集成
首先在maven編譯命令後面添加‘ findbugs:findbugs’,注意findbugs掃描的是classess文件,因此一定要mvn compile,再findbugs。
然後,在構建操作和構建後操作,勾選Foundbugs相關按鈕
至此,已全部搭建完成,點擊立即構建,工程就可以自動的遷移git代碼,利用maven編譯打包,使用findbugs掃描代碼。
在整個搭建的過程,肯定不會像上面所看到的這麼順利,出現過許多各種問題,這些問題沒有列出來。因爲我相信,只要你有一顆不達目的,誓不罷休的決心,一切困難都是紙老虎。