插件系列--Jenkins

其他網址

自動化部署--Jenkins--簡介安裝(一) - 簡書
Jenkins詳細教程_A1229451567的博客-CSDN博客_jenkins a使用
Jenkins的詳細安裝及使用_hc_ttxs的博客-CSDN博客_jenkins安裝

簡介

Jenkins說明

官網:https://jenkins.io/

        Jenkins是一個開源的、提供友好操作界面的持續集成(CI)工具,起源於Hudson(Hudson是商用的)。通常與版本管理工具(SCM)、構建工具結合使用。常用的版本控制工具有SVN、GIT,構建工具有Maven、Ant、Gradle。

作用

  1. 持續、自動的構建/測試軟件項目
  2. 監控外部任務(比如定時任務)的運行

但不侷限於這兩點,例如Jenkins還能遠程部署、異常處理監控等。

特點

  1. 易於部署:可在Tomcat等流行的servlet容器中運行(把jenkins.war部署進去),也可獨立運行。
  2. 易於配置:所有配置都是通過其提供的web界面實現。
  3. 集成RSS/E-mail:通過RSS發佈構建結果或當構建完成時通過e-mail通知。
  4. 生成JUnit/TestNG測試報告。
  5. 分佈式構建支持:Jenkins能夠讓多臺計算機一起構建/測試。
  6. 文件識別:Jenkins能夠跟蹤哪次構建生成哪些jar,哪次構建使用哪個版本的jar等。
  7. 插件支持:支持擴展插件,你可以開發適合自己團隊使用的工具。
  8. 支持Maven的模塊(Module):Jenkins對Maven做了優化,因此它能自動識別Module,每個Module可以配置成一個job,相當靈活。
  9. 測試報告聚合:所有模塊的測試報告都被聚合在一起,結果一目瞭然,使用其他CI,這幾乎是件不可能完成的任務。
  10. 構件指紋(artifact fingerprint):每次build的結果構件都被很好的自動管理,無需任何配置就可以方便的瀏覽下載。

CI

        CI(Continuous integration,中文意思是持續集成)是一種軟件開發時間。持續集成強調開發人員提交了新代碼之後,立刻進行構建、(單元)測試。根據測試結果,我們可以確定新代碼和原有代碼能否正確地集成在一起。如下圖所示

CD

        CD(Continuous Delivery, 中文意思持續交付)是在持續集成的基礎上,將集成後的代碼部署到更貼近真實運行環境(類生產環境)中。比如,我們完成單元測試後,可以把代碼部署到連接數據庫的Staging環境中更多的測試。如果代碼沒有問題,可以繼續手動部署到生產環境。下圖反應的是CI/CD 的大概工作模式。

下載與部署

環境準備

JDK:
maven:
SVN:

1.下載

https://jenkins.io/download/

下載war包

2.部署

法1:部署到tomcat

將jenkins.war放進tomcat/webapps

法2:單獨運行

java -jar jenkins.war --httpPort=8081

 此種方法運行需要修改端口,默認是8080與Tomcat衝突。
法1:用--httpPort指定,例如:--httpPort=8081
法2:修改配置文件。
        windows:jenkins.xml,修改--httpPort項
        Linux:/etc/sysconfig/jenkins,修改JENKINS_PORT

初始化

設置密碼

登入http://localhost:8081/jenkins,進入Jenkins初始化頁面,第一次啓動時間可能有點長,耐心等待。進入成功後會看到如下畫面,按提示路徑打開密碼文件,輸入密碼:

安裝插件

登錄進去後提示安裝插件,安裝推薦插件即可。

可能失敗,如下圖所示。
失敗原因:插件需要連到外網,如連接不到外網,跳過插件安裝即可:點擊Skip Plugin Installations。

之後可以在管理界面安裝插件:

  1. Jenkins-->系統管理--->管理插件進入插件下載、安裝界面
  2. 搜索
    Subversion Plug-in實現svn的功能
  3. 選擇下載待重啓後安裝或直接安裝

創建管理員

實例配置

採用默認即可

系統設置

前邊設置成功後即進入Jenkins主界面:

 點擊左上側系統管理,進入Jenkins基本系統設置(主要是以下三塊)

管理插件

先進入“管理插件”模塊安裝必需的插件,以下是建議安裝列表:

build timeout plugin
Deploy to container Plugin
Email Extension Plugin
GitHub Branch Source Plugin
Gradle Plugin
Pipeline
Pipeline:GitHub Groovy Libraries
Report Info Plugin
SSH Slaves plugin
Static Analysis Collector Plug-in
Subversion Plug-in
Timestamper
Workspace Cleanup Plugin

插件默認保存位置:C:\Users\Administrator\.jenkins\plugins

系統設置

添加編碼全局屬性:

 

增加系統管理員郵件地址:

其他的可用默認配置,保存後退出。

全局配置

配置JDK,不採用自動安裝:

配置maven,不採用自動安裝:

系統部署

開始添加任務,任務類型選擇自由風格:

創建完成後可在主頁看到如下畫面:

 在”All” tab下能看到新建的任務,點擊該任務,進入該任務的配置頁面:

設置項目備註及構建規則:

配置項目輪詢的源碼位置(@HEAD表示構建最新的代碼)並配置代碼訪問密碼:

配置構建觸發器,如下圖配置爲每天晚上9:30開始構建(Cron表達式):

增加Invoke top-level Maven targets構建步驟,插件目標爲編譯、發現編譯Bug、部署,另外還可以配置構建時忽略測試用例: 

增加構建後操作步驟:Publish FindBugs analysis results,用於查看FindBugs插件的代碼分析報告,該模塊可採用默認配置:

增加構建後操作步驟:Deploy war/ear to a container,用於將構建後生成的war包部署至tomcat服務器,下圖中Contextpath用於配置項目訪問路徑,如填/RMS_Server則表示項目的根訪問目錄爲:http://localhost:8080/RMS_Server,Deploy on failure用於配置當前構建失敗時是否仍然部署至tomcat,默認不選:

以上即爲本項目的所有配置,完成後應用(或保存)並退出。

配置完成後即可開始構建,左側可查看bugs分析信息及構建歷史:

 點擊某個構建記錄,如上圖中的#31,即可查看構建日誌、SVN代碼提交日誌及bugs分析結果:

編碼問題

FindBugs分析報告中查看某些代碼文件時可能出現中文亂碼情況,如下圖:

這是tomcat的編碼問題導致的,可在系統管理中查看tomcat的相關編碼情況:

主要關注的是file.encoding屬性及sun.jnu.encoding屬性,二者需要設置爲UTF-8以兼容中文:

這可通過在tomcat配置文件/bin/catalina.bat文件中添加set “JAVA_OPTS=-Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8”命令實現,如下圖:

配置完成後重啓tomcat,可看到編碼已經更改:

      
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章