jenkins實現持續整合
下載安裝
軟體版本需求: JDK要求1.7以上,ant版本1.9系列都可以,jenkins版本2.33以上。jdk的安裝不再說了,下面只說一下ant和jenkins的安裝和配置: ant是基於java的一款構建工具,通過配置build.xml,讓專案可以進行編譯,部署,打包。因為我們要實現自動構建,所以首先要安裝ant。
一.ant的下載和配置
wget http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.10.5-bin.tar.gz
然後進行解壓到/usr/share目錄下,進行重新命名
tar -zxvf apache-ant-1.10.5-bin.tar.gz -C /usr/share/ mv apache-ant-1.10.5 ant
配置環境變數:
vim ~/.bashrc
加入ant的安裝路徑:
export ANT_HOME=/usr/share/ant
export PATH=${ANT_HOME}/bin:$PATH
使配置檔案生效:
source ~/.bashrc
輸入ant -version 檢查是否安裝成功:
二.Jenkins的安裝和配置
1.首先檢視之前是否以前安裝過:
rpm -qa|grep jenkins
有的話通過下面命令進行刪除:
rpm -e nodeps xxxxxx
下載安裝包:
wget http://pkg.jenkins-ci.org/redhat/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.環境配置:
vim /etc/init.d/jenkins
在開啟的檔案中加上java的安裝路徑,一定要注意是java中jre裡面的java的路徑:
/usr/lib/java/jdk/jre/bin/java
因為預設的埠是8080,因此在這裡做一下修改:
vim /etc/sysconfig/jenkins
修改為9090:
JENKINS_PORT="9090"
另外對記憶體進行修改:
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m"
修改完成之後進行重啟:
service jenkins restart
在瀏覽器中輸入地址http://47.100.63.28:9090/jenkins會出現以下介面: 3.初始化成功後會自動生成一個管理員密碼放到指定位置,根據頁面提示覆制密碼貼上到輸入框就可以登入了 通過cat命令道指定目錄下檢視密碼即可,然後輸入進去.然後點選繼續。 登入成功後回讓你選擇外掛的安裝,可以選擇建議的安裝也可以自己進行選擇,不清楚的話可以使用建議的安裝,由於建議安裝的外掛比較多,安裝的過程有點慢,多等待一下
安裝完成之後建立一個新的管理員賬號代替之前臨時自動生成的密碼賬戶: 點選Save and Finish完成建立。進入到初始化介面:
4.初始化配置: 4.1.修改工作空間: 從主頁面直接到"系統管理>系統配置,點選右邊的高階按鈕" 在工作空間目錄”直接修改預設工作空間目錄為自定義的/root/jenkins/workspace/${ITEM_FULLNAME},如下圖: 4.2 全域性配置JDK和Ant:
從主頁面直接到“系統管理>Global Tool Configuration”,點選右邊“JDK或者ant安裝”按鈕,
如果已經下載過了不會顯示安裝按鈕。
三.建立Jenkins自動化持續整合專案
1.安裝外掛: 常用外掛有以下幾個:
FindBugs Plug-in: 是一個靜態分析工具,它檢查類或者 JAR 檔案,將位元組碼與一組缺陷模式進行對 比以發現可能的問題。 Checkstyle Plug-in:是一個靜態分析工具,檢查Java程式程式碼。 Deploy to container Plugin:用於構建專案後,自動釋出war包重新部署的外掛 SSH Plugin:這個外掛使用 SSH 協議執行遠端 shell 命令。 Multijob Plugin:這個外掛是一個將多個專案連線在一起的外掛。
以Checkstyle為例進行下載,在左上角“系統管理”中往下拉,找到“管理外掛”點選進去就可以檢視和管理所有的外掛,點選“可選外掛”顯示所有jenkins支援的外掛,在右上角的“過濾”輸入框中,輸入需要安裝的外掛名就可以篩選查詢到想要的外掛 2.新建專案: 下面以建立一個自由風格軟體專案為例進行說明
點選左側邊欄的“新建”按鈕,新建一個任務。 填寫專案的名稱,並選擇一種構建的方式,此時我們選擇第一個,構建一個自由風格的軟體專案,然後點選“OK”按鈕建立任務,並進行詳細的配置: 點選ok之後會進入到下面配置頁面: 接下來,我從General、原始碼管理、構建觸發器、構建環境、構建、構建後操作這幾個部分來進行詳細配置說明: 2.1 General配置 這部分主要是設定下名稱、工作空間等。點選高階按鈕開始進行配置,只需設定工作空間即可:
若是隻有一個專案,也可以直接到“系統管理>系統配置>工作空間目錄”直接修改預設工作空間目錄,點選高階出現如下圖:
2.2 構建觸發器 指定的專案完成構建後,觸發此專案的構建。
Poll SCM: 當選擇此選項,您可以指定一個定時作業表示式來定義Jenkins每隔多久檢查一下原始碼 倉庫的變化。如果發現變化,就執行一次構建。例如,表示式中填寫H 2 * * *將使Jenkins每 隔2分 鍾就檢查一次原始碼倉庫的變化。
Build periodically:此選項僅僅通知Jenkins按指定的頻率對專案進行構建,而不管SCM是否有變化。 如果想在這個Job中執行一些測試用例的話,它就很有幫助。 2.3 構建: 這部分主要是配置構建的相關內容,用於定時觸發構建或者手動執行構建的時候,對程式碼檢驗、編譯時進行的操作。構建概念到處可查到,形象來說,構建就是要把程式碼從某個地方拷貝過來,編譯,再拷貝到某個地方去等等操作,當然不僅與此,但是主要用來幹這個。
因為我的專案是用ant指令碼實現的編譯和打包,所以我選擇的是Invoke Ant,Ant Version選擇我Ant配置的那個名字(這裡可以參見上面),注意不要選擇default喔,那個選擇了沒有用。
增加構建步驟:Invoke Ant Targets:(什麼也沒寫,預設執行根目錄下的build.xml) 如果你的構建指令碼build.xml不在workspace根目錄、或者說你的構建指令碼不叫build.xml。那麼需要在高階裡設定Build File選項的路
build.xml配置檔案請檢視附件“build.xml說明”,裡面有每句配置說明;
checkstyleBuild.xml配置檔案請檢視附件“checkstyleBuild.xml說明”,裡面有每句配置說明;
findBugsBuild.xml配置檔案請檢視附件“findBugsBuild.xml說明”,裡面有每句配置說明。
2.4 構建後操作 用於定義當前專案構建完之後的一些操作,比如構建完之後將checkstyle結果輸出到指定日誌檔案,重新發布專案,去執行其他專案構建等。 2.5 構建後釋出專案 注意,首先你必須安裝好Deploy Plugin外掛,然後在tomcat的conf目錄配置tomcat-users.xml檔案,如我這裡配置的是manager, 在節點裡新增如下內容: 配置完之後一次war包路徑、使用者名稱、密碼、主機即可 引數說明:
WAR/EAR files:war檔案的存放位置,如:**/build/warDest/ad-gx-admin.war。 Context path:訪問時需要輸入的內容,如ad-gx-admin訪問時如下: http://47.100.63.28:10001/ ofCard/ad-gx-admin如果為空,預設是war包的名字。 Container:選擇你的web容器,如tomca 7.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載入時出現卡死的現象。但是也是最簡單的部署方式。如果卡死了重啟下就好了,將tomcat的java記憶體引數調高可以解決這個問題。最後不要忘記點選儲存喔。好了!到此一個專案的獲取原始碼,打包,遠端部署