1、DevOps架构图

0b62f530190b0acf87c791d93d18b56.png

2、实现思路玩法

由gitlab为起点,k8s集群为重点,其中jenkins为cicd驱动

  1. 开发人员将代码推送到gitlab私服
  2. 登录jenkins执行流水线脚本

其中jenkins比较关键几步:
1、使用git从gitlab拉取代码
2、使用本地maven环境将代码编译打包
3、使用sonarqube的maven插件将jar包推送sonarqube代码审查私服
4、将jar包制作成镜像,登录到docker私服 打上标签,推送到镜像私服harbor仓库,删除本地多余镜像
5、执行kubectl部署命令执行一次deploy

3、各个步骤细节说明

1、jenkins部署的2种玩法

第一种jenkins单独服务器部署,服务器上安装jdk环境+maven环境+git环境+docker环境,安装kubectl软件,远程执行kubectl命令,复制k8s主节点的/root/.kube/config文件到当前服务器

第二种玩法是k8s集群部署jenkins,使用多个yaml资源定义文件或者是helm包管理启动jenkins服务,这种玩法的流水线脚本更加复杂,但是支持动态扩缩容jenkins从节点,能够从容应对大企业上百条流水线的性能瓶颈