注意:個人jenkins切換到了1.509.3 ,由於我以前的1.4那個版本沒有用戶角色管理java
前面的一篇博文裏面有介紹,可是我當時是將java的環境變量是導入了當前shell裏面,當重啓一個shell就不起做用了,因此在這兒直接將JAVA_HOME的環境變量放入~/.bash_profile文件裏面這樣全部的用戶啓動的任何shell均可以使用這個環境變量了。shell
.bash_profile添加以下內容:apache
export JAVA_HOME=/opt/mcu/dm/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使環境變量生效centos
source .bash_profile
執行java,會出現一堆東西,表示成功了。 bash
將jenkins.war包拷貝到centos系統下面任何一目錄,執行服務器
java -jar jenkins.war
jenkins服務器就啓動,他的數據存在~/.jenkins目錄下面maven
之後每次啓動jenkins就會去這個目錄來讀取jenkins系統的設置和加載已經建立的jenkins任務(jobs)svn
之因此要安裝maven,由於等下用jenkins來構建java項目時候,會去調用maven來構建該java項目,因此要先安裝好maven單元測試
. 去官網下載apache-maven-2.2.1-bin.tar,不能用maven3,否則等下構建的時候會報以下錯誤:測試
將該壓縮包解決到/home/develop目錄下面,而後添加到環境變量便可,即向~/.bash_profile文件裏面加入maven的環境變量,最後~/.bash_profile的內容以下:
export JAVA_HOME=/opt/mcu/dm/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export MAVEN_HOME=/home/develop/apache-maven-2.2.1 export PATH=$MAVEN_HOME/bin:$PATH
使環境變量生效
source .bash_profile
執行mvn -v 出現maven和jdk的版本表示成功了。
使用jenkins構建項目的任務以前,必須設置一些jenkins的全局設置。
單擊首頁左邊的「系統管理」,進入「系統設置」,在這裏對jenkins進行全局設置
1) JDK安裝。若是沒有讀取出系統變量,就手動設置好別名和JAVA_HOME就能夠了
2) Maven同理
3)郵件通知配置
注意:這個system Admin e-main address必定要配置,這個是郵件發送人的地址,若是你這個沒有配置,等着發郵件的時候報錯吧。
4)配置subversion
Subversion Workspace Version:Subversion 的版本號,選擇你對應的版本號就好了
全局配置基本差很少了。
1) 在頁面中點擊「新job」,輸入任務名稱,選擇「構建一個maven2/3項目」,以下圖:
2) 點擊ok按鈕進入任務配置頁面,首先配置項目的svn地址,以下圖:
點擊 enter credential 輸入用戶名和密碼(我猜你們通常都是使用的用戶名和密碼登錄的)
點擊保存,由於jenkins去svn服務器checkout代碼的時候須要用戶名和密碼,不然checkout失敗。
3)配置當用戶svn更新該項目代碼了,就觸發jenkins去構建
這個*/5 * * * * 表示沒5分鐘去檢查svn有沒有更新,若是有更新就去構建該項目。
Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您能夠指定一個定時做業表達式來定義Jenkins每隔多久檢查一下您源代碼倉庫的變化。若是發現變化,就執行一次構建。例如,表達式中填寫0,15,30,45 * * * *將使Jenkins每隔15分鐘就檢查一次您源碼倉庫的變化。
Build periodically :此選項僅僅通知Jenkins按指定的頻率對項目進行構建,而無論SCM是否有變化。若是想在這個Job中運行一些測試用例的話,它就頗有幫助。
日程表參數解釋以下:
如0 * * * * 表示的就是每一個小時的第 0 分鐘執行一次構建。
注意:每一個*之間有空格,不然會報錯誤。
4) 配置maven的pom文件位置,可使用相對路徑(相對於svn地址庫中的位置),以下圖:
5) 配置maven編譯參數,以下圖所示不執行單元測試:
關於maven的編譯參數可參考Maven基本命令
6)郵件通知
構建郵件通知配置以下圖,Recipients欄目中添加須要發送郵件通知的郵件地址,當構建不穩定或失敗就向這個郵箱發送郵件。
至此,點擊保存便可。咱們就完成了個項目的構建的配置了,咱們能夠手動去構建,也能夠更新svn的代碼,去觸發jenkins構建咱們的項目。
這個日程表參數,以前總是沒怎麼弄清楚,這兒作一個詳細的總結:
日程表的參數:
可是咱們常常能夠看獲得一些輔助的字符。大概有下面這些:
*(星號)表明任什麼時候刻都接受。
示例1: * * * * * 表明不論何月,何周,何日,什麼時候,何分,都執行,就是每分鐘都執行的意思。
示例2: 0 12 * * * 就表明天天12:00都執行的意思
示例3: 59 23 1 5 * 表示5月1日23點19分執行的意思。
示例4: 30 16 * * 5 表示每週五16:30執行的意思。
若是要寫一個天天凌晨1:00執行的例子
0 1 * * *
舉了這麼多的例子,少年,星號的意思你應該get到了。
,(逗號)表明分割時間段。
示例1: 0 3,6 * * * 表示3:00和6:00執行
-(減號)表明一段時間範圍內
示例1: 20 8-12 * * * 表示8點到12點之間的每小時的20分都執行。
/n(斜線) n表示數字,即每隔n個單位間隔的意思
示例1: */5 * * * * 表示每五分鐘執行一次 用*與/5來搭配,也能夠寫成0-59/5,意思相同。
打完收工。