Jenkins X介紹及安裝


 

Jenkins X 是一個高度集成化的 CI/CD 平台,基於 Jenkins 和 Kubernetes 實現,旨在解決微服務體系架構下的雲原生應用的持續交付的問題,簡化整個雲原生應用的開發、運行和部署過程。

 

Jenkins X 核心組件

 

 

Jenkins

 

Jenkins X 不是一個全新的 Jenkins。

 

它依然使用 Jenkins 作為持續交付的核心引擎,實際上 Jenkins X 作為 Jenkins 的一個子項目存在,專注於雲原生應用的 CI/CD 實現,同時也幫助 Jenkins 自身完成雲原生應用的轉型,畢竟現在越來越多的人在詬病單體應用的設計和文件存儲系統。

 

HELM

 

Helm 是用於管理 Kubernetes 資源對象的工具,類似 APT,YUM 和 HOMEBREW,它通過將 Kubernetes 的資源對象打包成 Chart 的形式,完成復雜應用的部署和版本控制,是目前業界流行的解決方案

 

DRAFT

 

Draft 是自動化應用構建和運行在 Kubernetes 上面的工具,具有語言識別能力,能夠自動生成構建腳本,依賴,環境並打包成 Docker 鏡像並部署在 Kubernetes 集群上,加快代碼開發節奏,而無需關心基礎設施層面的技術實現

 

GitOps

 

GitOps 是 Weaveworks 推出的天才的應用部署解決方案,它將 Git 作為整個應用部署的單一可信數據源(SSOT),通過類似代碼開發的 Pull Request 流程完成應用部署的 Review 和自動化實現,並且將部署配置信息納入版本控制。

  

Jenkins X 部分新特性

1. 自動化一切:自動化CI/CD流水線

  1. 選擇項目類型自動生成Jenkinsfile定義流水線

  2. 自動生成Dockerfile並打包容器鏡像

  3. 自動創建Helm Chart並運行在Kubernetes集群

  4. 自動關聯代碼庫和流水線,作為代碼變更自動觸發(基於Webhook實現)

  5. 自動版本號自動歸檔

2. Review代碼一鍵部署應用:基於GitOps的環境部署

  1. 所有的環境,應用列表,版本,配置信息統一放在代碼庫中進行版本控制

  2. 通過Pull Request實現研發和運維的協同,完成應用部署升級(Promotion)

  3. 可自動部署和手動部署,在必要的時候增加手工Review

  4. 當然這些都封裝在jx命令中實現

3. 自動生成預覽環境和信息同步反饋

  1. 預覽環境用於代碼Review環節中臨時創建

  2. 同Pull Request工作流程集成並實現信息同步和有效通知

  3. 驗證完畢后自動清理

  4. 提交和應用狀態自動同步到Github注釋

  5. 自動生成release notes信息供驗證

 

Jenkins X安裝---以linux為例

1.在本地安裝jx命令行工具

 

#curl -L https://github.com/jenkins-x/jx/releases/download/v1.1.40/jx-linux-amd64.tar.gz | tar xzv 
#mv jx /usr/local/bin

2.使用jx創建一個k8s集群,並自動安裝Jenkins X(http://jenkins-x.io/getting-started/create-cluster/)或在已經存在的k8s集群上安裝Jenkns x(http://jenkins-x.io/getting-started/install-on-cluster/)

  通過已存在的k8s上安裝只需要執行 #jx install即可

這里說下使用JX創建一個k8s集群安裝jenkins X的注意點:

.執行命令#jx create cluster minikube 會默認下載minikube,kubectl和helm到~/.jx/bin目錄下,所以這里需要將該路徑加入到系統PATH下;

.安裝一款虛擬機軟件支持kvm,virtualbox,no(使用docker的話選此選項,注意一定要為其指定專門的網橋)

.根據提示輸入內存(默認4096M)輸入CPU核數(默認3),選擇虛擬機,確定會自動下載Minikube ISO(142.22M)並啟動虛擬機加載該鏡像。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM