Jenkins 學習筆記一

1.對Jenkins的理解

它是一款使用JAVA 語言開發的開源的自動化服務器。可以通過界面或者Jenkinsfile 告訴它什麼時候執行什麼任務。通常用於持續集成和持續交付。

2.Jenkins 與 DevOps

DevOps 集文化理念,實踐和工具於一身。但是很多書籍並沒有什麼操作性。但是DevOps 承諾能更快,更好的交付軟件,其落地的過程,基本上都會談到Jenkins。devops 理念裏面的工具鏈,就是通過jenkins 集成到一起的。

3.持續集成-Continuous integration,CI

概念:頻繁地將代碼集成到株高
目的:讓產品快速迭代,同時還能保持高質量。它的核心措施是,代碼集成到主幹之前,必須通過自動化測試。只要有一個測試用例失敗,就不能集成。
優點
(1)快速發現錯誤。每完成一點更新,就集成到主幹,可以快速發現錯誤,定位錯誤也比較容易。

(2)防止分支大幅偏離主幹。如果不是經常集成,主幹又在不斷更新,會導致以後集成的難度變大,甚至難以集成。

4.持續交付-Continuous delivery,CD

概念:頻繁地將軟件的新版本,交付給質量團隊或者用戶,以供評審。如果評審通過,代碼就進入生產階段。
可以看做是CI 的下一步。

5.持續部署 - continuous deployment,CD

概念:是持續交付的下一步,指的是代碼通過評審以後,自動部署到生產環境。
目的:持續部署的目標是,代碼在任何時刻都是可部署的,可以進入生產階段。

6.持續交付與持續部署的區別

在這裏插入圖片描述

7.流水線流程

7.1代碼提交

開發者向倉庫提交代碼

7.2 測試

代碼倉庫對commit 操作配置了hook, 只要提交代碼,就會自動觸發自動化測試,分支測試第一輪。–持續集成的概念

7.3 構建

經過持續集成,代碼就可以合入主幹,就算可以交付了。此時就可以構建主幹的包,主線測試,第二輪測試。

7.4 主線測試

相比第一輪測試,此處的測試,必須包含新需求的測試以及老功能的測試,以覆蓋率高爲主要目標。

7.5 部署

通過上述測試後,當前代碼就是一個可以直接部署的版本(aircraft)。將製品文件打包存檔,發到生產服務器。

8.參考資料

1.阮一峯老師的講解:
http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
2.翟志軍老師的書本:
Jenkins 2.x 實踐指南

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