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)

原文地址:https://www.cnblogs.com/emmaduan/p/11016808.html