通過上一篇“jenkins(一)集成環境搭建示例”,已經完成了jenkins的安裝,基本配置,啟動,下面繼續小結jenkins使用
一、jenkins系統配置
訪問jenkins,點擊系統管理->系統設置 進入Jenkins->configuration頁面
1、配置jdk
點擊JDK安裝…… 按鈕,輸入已經裝好的jdk路徑
2、 配置構建工具maven
點擊Maven安裝……按鈕,也可以把已經安裝好的路徑配置上去
注:build tools還有Ant,或者通過ShellScript來構建(linux/unix上)
3、配置版本控制工具Git
3.1首先,需要安裝 “Git Plugin”到jenkins
點擊系統管理->管理插件 在"可選插件"Tab里找到 Git Plugin ,安裝該插件, 裝完后重啟, 在“已安裝”Tab可找到該插件
3.2 回到系統設置頁面, 在Path to Git executable 配置本機git.exe路徑
注:版本控制工具還可以配置SVN,CSV等
4、上面講述了正常運作的基本工具配置, 下面繼續添加其他配置解析:
4.1 Quietperiod[生成前等待時間]配置:
配置等待未發生提交變化的時間。 由於 jenkins檢測到代碼變化時,就自動立即構建,但是有些情況下, 需要多次提交代碼到版本控制系統上,此時,可能發生代碼還沒完整提交就開始構建,造成構建失敗, 為防止此種情況發生, 可以配置值X, 則jenkins會在代碼變化后等待X秒,如果沒在發生代碼提交, 才開始構建, 保證穩定性。
4.2配置MailServer:
配置采用什么做emailservices后,才能在構建失敗時,發送郵件到指定人
4.3配置代理
到管理插件的“高級”Tab可配置jenkins代理
二、jenkins新建job並配置
1、新建一個job,選擇構建一個自由風格的軟件項目maventest2為例
2、job配置
2.1通過配置Git庫URL告訴jenkins源代碼位置,如下圖:
發現用https://jenniferhuang:{password}@github.com/jenniferhuang/maventest2.git 形式來配置路徑, 比較不會出錯
2.2 在“構建觸發器”里配置構建周期、觸發方式
選擇"Build when a change is pushed to GitHub "和"Poll SCM ",這兩項的作用分別是當GitHub有版本庫更新時觸發Jenkins進行構建和定期檢查版本庫是否有更新,如果有更新則觸發Jenkins進行構建,如下圖,表示每10分鍾檢查一次版本庫是否更新
另外Freestyle job,還有別的構建觸發方式:
比如:
輸入cron表達式, 按照表達式周期定時觸發
2.3 添加構建步驟
在構建里,點擊“增加構建步驟”,選擇Invoke top-level Maven targets,輸入如下圖:
通過maven知識,可以知道,mvn clean package 命令, 將刪除之前build artifacts、編譯代碼、跑單元測試,並生成.jar文件
maven入門知識見 “maven(一)初步搭建,項目結構”
其他構建步驟:
上述采用maven,選擇Invoke top-level Maven targets,命令還有clean install,
javadoc:javadoc cobertura:cobertura等(需要裝上javadoc plugin,cobertura plugin)
另外, 還有幾種構建方式,如
有些構建方法需要安裝插件, 如execute groovy script, 需要先安裝groovy plugin,增加構建步驟時,才有這個選項
PS:jenkins添加插件的一般步驟:
A:在插件管理里,添加插件;B:步驟A后, 在系統管理頁面就提供該插件安裝路徑的配置;C:建job時,就可以引用該插件去構建等。
2.4 配置構建后操作
配置maven項目構建后, 輸出報告路徑(maven的輸出目錄target/surefire-reports)
配置構建結果歸檔,構建輸出報告, javadoc報告, 代碼覆蓋報告等:
構建產物javadoc,默認路徑在..\jobs\maventest2\workspace\target\site\apidocs,(需要2.3構建步驟有添加javadoc:javadoc)
代碼覆蓋報告,(需要2.3構建步驟有添加cobertura:cobertura)
三、開始構建
1、保存 完job后,回到該job的主頁面,等一分鍾左右自動編譯,或者到jenkins主頁面,點擊 計划構建按鈕
2、構建完畢后,在頁面左下角顯示了構建歷史記錄,如下圖:
3、點擊上面構建歷史記錄的鏈接,查看構建結果詳情頁面如下圖:
4、在上面詳情頁面點擊“控制台輸出”,查看出錯詳情,如下圖: