1. 程式人生 > >持續集成-jenkins介紹與環境搭建

持續集成-jenkins介紹與環境搭建

erl 地址 作業 工作流 var pull 腳本 由於 一次

什麽是持續集成?

  轉自:https://blog.csdn.net/tanshizhen119/article/details/80328523

  持續集成,俗稱CI, 大師Martin Fowler對持續集成是這樣定義的:持續集成是一種軟件開發實踐,即團隊開發成員經常集成他們的工作,通常每個成員每天至少集成一次,也就意味著每天可能會發生多次集成。每次集成都通過自動化的構建(包括編譯,發布,自動化測試)來驗證,從而盡快地發現集成錯誤。許多團隊發現這個過程可以大大減少集成的問題,讓團隊能夠更快的開發內聚的軟件。

按照我的理解持續集成就是,一個通過一些手段或者是工具,在整個系統開發過程中,對於某一個時段(盡可能的短)完成部分功能向整個系統集成,通過編譯,單元測試,自動化腳本等方式來驗證整個功能是否存在問題,從而及時的發現問題並解決問題。在持續集成過程中,還有一個最重要的概念是自動化

,編譯,代碼掃描,測試(單元,性能等測試),包括部署到測試環境等,這些步驟盡可能的自動化。

jenkins就是一個很好的持續集成工具,它有一千多個插件,各式各樣的插件多得不行,支持的語言工具也很多。而且ci在整個devops工具鏈中處於中心位置,負責連接各種工具。

Jenkins環境搭建

jenkins部署的方式很多,可以用tomcat, 或者運行單獨的war包,按照我的習慣,我比較喜歡用docker來部署。

docker鏡像地址

拉取docker鏡像:docker pull jenkins

運行jenkins docker鏡像:

mkdir /data/jenkins_data
docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v /data/jenkins_data:/var/jenkins_home jenkins

就這麽簡單,docker就啟動好了 訪問:http://IP:8080

第一次登陸要輸入初始密碼,初始密碼在 /var/jenkins_home/secrets/initialAdminPassword(這個是docker地址)

技術分享圖片

這個地址是docker裏的地址,我們可以進docker裏面去找:

docker exec -it myjenkins bash

cat /var/jenkins_home/secrets/initialAdminPassword

ctrl +p ,q 退出docker

另外一種方法:

由於我們啟動時是否做了目錄掛載:-v /data/jenkins_data:/var/jenkins_home

所以不用進docker裏,直接執行 cat /data/jenkins_data/secrets/initialAdminPassword

將輸入初始管理密碼後,就可以進jenkins了,然後一路按照默認下載插件,然後創建一個管理員就好。

技術分享圖片

這樣就已經安裝好了。

jenkins功能

jenkins是一個相當出色的平臺簡約卻不簡單,整個平臺提供一個最最核心的功能,但是它的插件竟然有一千多種。git, maven, ant,gerrit, gitlab, svn各種各樣。只可惜免費但是不開源。

jenkins功能是相當的豐富的,但是從最最簡單的來講,它最核心的就是類似於一個作業平臺。用戶可以再上面創建job, 然後手動或者自動執行。它有著豐富的插件,可以讓你方面的調用或者是關聯各個系統或工具,來滿足各式各樣的要求。

我覺得jenkins2.0是引入了pipeline

什麽是pipeline

什麽是Pipeline,簡單來說,就是一套運行於Jenkins上的工作流框架,將原本獨立運行於單個或者多個節點的任務連接起來,實現單個任務難以完成的復雜發布流程。Pipeline的實現方式是一套Groovy DSL,任何發布流程都可以表述為一段Groovy腳本,並且Jenkins支持從代碼庫直接讀取腳本,從而實現了Pipeline as Code的理念。

如下圖就是pipeline執行的結果。這裏先拋磚引玉,然後再詳細介紹一下jenkins pipeline

技術分享圖片

持續集成-jenkins介紹與環境搭建