gitlab的CICD搭建記錄


1.使用場景

CICD是最近幾年比較火的技術,顧名思義就是持續集成和持續部署。

以前的老技術,比如svn+jenkins這種,jenkins的配置多數還是依賴於負責維護CI的人,很多人不熟悉jenkins怎么配置,每一個步驟應該怎么編譯和測試,一般都由CI的人來定義。

而CICD,其實可以使用jenkinsfile,就想gitlab的gitlab-ci.yaml文件,把CICD的流程控制和步驟也作為開發的一部分,由開發去維護。並且可以很快的部署到多個環境。

 

2. 實踐

使用gitlab的CICD流程,使用nginx為例子。搭建一個pipe。一旦提交代碼,自動部署nginx到k8s的集群中。

使用到的技術有: docker,k8s,helm,gitlab-runner,nginx

 

2. gitlab的CICD搭建

步驟一:

搭建k8s集群環境,可以使用minikube或者kubeadm快速的搭建起來k8s集群。

步驟: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

步驟二:

安裝helm

https://zhuanlan.zhihu.com/p/33813367

步驟三:

安裝gitlab-runner並且注冊

步驟四:

在gitlab上面新建project,project下面應該有這幾個文件

1. index.html(docker image里面替換了index.html)

2. Dokcerfile(基於nginx的image,替換了index.html)

3. helm chart (將docker images包含進來,創建k8s的deployment和service)

4. gitlab-ci.yaml(定義整個CICD的流程,第一步build docker images,publish to dockerhub, 第二步pakage helm chart, 第三步deploy helm chart)

 


免責聲明!

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



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