持續集成-jenkins介紹與環境搭建
什麽是持續集成?
轉自: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介紹與環境搭建