Jenkins X介紹及安裝
Jenkins X 是一個高度整合化的CI/CD平臺,基於Jenkins和Kubernetes實現,旨在解決微服務體系架構下的雲原生應用的持續交付的問題,簡化整個雲原生應用的開發、執行和部署過程。
Jenkins X 部分新特性
1. 自動化一切:自動化CI/CD流水線
選擇專案型別自動生成Jenkinsfile定義流水線
自動生成Dockerfile並打包容器映象
自動建立Helm Chart並執行在Kubernetes叢集
自動關聯程式碼庫和流水線,作為程式碼變更自動觸發(基於Webhook實現)
自動版本號自動歸檔
2. Review程式碼一鍵部署應用:基於GitOps的環境部署
所有的環境,應用列表,版本,配置資訊統一放在程式碼庫中進行版本控制
通過Pull Request實現研發和運維的協同,完成應用部署升級(Promotion)
可自動部署和手動部署,在必要的時候增加手工Review
當然這些都封裝在jx命令中實現
3. 自動生成預覽環境和資訊同步反饋
預覽環境用於程式碼Review環節中臨時建立
同Pull Request工作流程整合並實現資訊同步和有效通知
驗證完畢後自動清理
提交和應用狀態自動同步到Github註釋
自動生成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)並啟動虛擬機器載入該映象。