一 jenkins是什麼?
Jenkins是開源CI&CD軟件領導者, 提供超過1000個插件來支持構建、部署、自動化, 滿足任何項目的需要,起源於Hudson(Hudson是商用的),主要用於持續、自動的構建/測試軟件項目、監控外部任務的運行(這個比較抽象,暫且寫上,不做解釋)。Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運行,也可獨立運行。通常與版本管理工具(SCM)、構建工具結合使用。常用的版本控制工具有SVN、GIT,構建工具有Maven、Ant、Gradle。
二 特點是什麼?
1.持續集成和持續交付
作為一個可擴展的自動化服務器,Jenkins可以用作簡單的CI服務器,或者變成任何項目的連續交付中心。
2.簡易安裝
Jenkins是一個獨立的基於Java的程序,可以立即運行,包含Windows,Mac OS X和其他類Unix操作系統
3.配置簡單
Jenkins可以通過其網頁界面輕鬆設置和配置,其中包括即時錯誤檢查和內置幫助
4.插件
通過更新中心中的1000多個插件,Jenkins集成了持續集成和持續交付工具鏈中幾乎所有的工具。
5.擴展
Jenkins 可以通過其插件架構進行擴展,從而為 Jenkins 可以做的事提供幾乎無限的可能性。
6.分佈式
Jenkins可以輕鬆地在多臺機器上分配工作,幫助更快速地跨多個平臺推動構建,測試和部署
7.跟第三方工具集成非常友好
Jenkins跟目前主流比如容器化應用平臺k8s,團隊協作平臺jira,監控平臺(zabbix等)
產品發佈流程是什麼?
產品設計成型 -> 開發人員開發代碼 -> 測試人員測試功能 -> 運維人員發佈上線
持續集成 (Continuous integration,簡稱CI)
持續交付(Continuous delivery)
持續部署(continuous deployment)
三 CI/CD是什麼?
CI(Continuous integration,中文意思是持續集成)是一種軟件開發時間。持續集成強調開發人員提交了新代碼之後,立刻進行構建、(單元)測試。根據測試結果,我們可以確定新代碼和原有代碼能否正確地集成在一起。借用網絡圖片對CI加以理解。
CD(Continuous Delivery, 中文意思持續交付)是在持續集成的基礎上,將集成後的代碼部署到更貼近真實運行環境(類生產環境)中。比如,我們完成單元測試後,可以把代碼部署到連接數據庫的Staging環境中更多的測試。如果代碼沒有問題,可以繼續手動部署到生產環境。下圖反應的是CI/CD 的大概工作模式。
下面是幾張測試環境小截圖:
今天就介紹到這裡後期主要是針對jenkins的安裝配置以及實戰應用,大家記得點點關注呦!
閱讀更多 IT黑旋風 的文章