Jenkins 基礎知識大補

Jenkins一個Java開源項目

  • 部署和運行需要安裝Java 8以上環境。
  • 作為一個CI持續集成服務器,Jenkins可以從版本控制系統自動拉取最新的代碼,構建和進行測試,並將過程信息通知到開發人員。

項目源代碼修改的檢測,jenkins能夠從項目的Subversion/CVS生成最近修改的集合列表,且不會增加Subversion/CVS Repository的負載。

具體可以做什麼:

  • 持續的軟件版本發佈/測試項目。
  • 監控外部調用執行的工作。

Jenkins下載並運行

docker安裝(另一篇文章分享)

  • 下載 Jenkins,打開終端進入到下載目錄.
  • 運行命令 java -jar jenkins.war --httpPort=8080.
  • 打開瀏覽器進入鏈接 http://localhost:8080.

開始使用 Jenkins!

Jenkins Pipeline

  • 是一套插件,將持續交付的實現和實施集成到 Jenkins 中。
  • 一套可擴展的工具,用於將“簡單到複雜”的交付流程實現為“持續交付即代碼”。
  • 被寫入到一個文本文件Jenkinsfile 中,該文件可以被放入項目的源代碼控制庫中。


Jenkinsfile 示例

Pipelines 由多個步驟組成,允許你構建、測試和部署應用。 Jenkins Pipeline 允許您使用一種簡單的方式組合多個步驟, 以幫助您實現多種類型的自動化構建過程。

可以把“步驟step”看作一個執行單一動作的單一的命令。 當一個步驟運行成功時繼續運行下一個步驟。 當任何一個步驟執行失敗時,Pipeline 的執行結果也為失敗。

當所有的步驟都執行完成並且為成功時,Pipeline 的執行結果為成功

  • 文件命名為 Jenkinsfile

Jenkinsfile (Declarative Pipeline)

pipeline {

agent { docker 'maven:3.3.3' }

stages {

stage('build') {

steps {

sh 'mvn --version'

sh 'echo "Hello World"'

}}}


Jenkins 基礎知識大補


  • 單擊Jenkins中的 New Item 菜單
  • 新工程命名,選擇 Multibranch Pipeline
  • 單擊 Add Source 按鈕,選擇您想要使用的倉庫類型並填寫詳細信息.
  • 單擊 Save 按鈕,Pipeline運行

修改 Jenkinsfile 以便應用在您自己的項目中。嘗試修改 sh 命令,使其與您本地運行的命令相同。

在配置好 Pipeline 之後,Jenkins 會自動檢測您倉庫中創建的任何新的分支或合併請求。

Jenkins 部署方式

  • Jenkins觸發式構建:用於開發環境部署,開發人員push代碼或者合併代碼到gitlab項目的master分支,jenkins就部署代碼到對應服務器。
  • Jenkins參數化構建:用於測試環境預上線環境部署,開發push代碼或者合併代碼到gitlab項目的master分支之後,並不會部署代碼,而是需要登錄到jenkins的web界面,點擊構建按鈕,傳入對應的參數,然後才會部署。
  • Jenkins定時構建:用於APP自動打包,定時構建是在參數化構建的基礎上添加的,開發人員可以登錄jenkins手動傳入tag進行打包,如果不手動打包,那麼jenkins就每天凌晨從gitlab拉取最新的APP代碼打包。

Jenkins 用戶架構


Jenkins 基礎知識大補
  • 每當代碼改變的時候,這個工具自動的編譯和測試你的應用。
  • 如果出現錯誤,立即通知開發者,能夠立即修復問題。
  • 能自動地監測代碼質量和測試覆蓋率。可視化的代碼質量度量方案能夠鼓勵開發者不斷地改進他們的代碼。


分享到:


相關文章: