CI/CD持续集成部署 一(简介)

301 阅读2分钟

本文已参加「新人创作礼」活动,一起开启掘金创作之路。

简介

问题

错误发现不及时 很多 错误在项目的早期可能就存在,到最后集成的时候才发现问题。

人工低级错误发生 产品和服务交付中的关键活动全都需要手动操作。

团队工作效率低 需要等待他人的工作完成后才能进行自己的工作。

解决方法

搭建CI/CD实现持续集成与持续交付

软件开发的连续方法基于自动执行脚本,以最大程度地减少在开发应用程序时引入错误的机会。从开发新代码到部署新代码,他们几乎不需要人工干预,甚至根本不需要干预。

它涉及到在每次小的迭代中就不断地构建,测试和部署代码更改,从而减少了基于错误或失败的先前版本开发新代码的机会。

CICD的价值体现

  • 减轻运维工作压力。
  • 尽早反馈,尽早发现错误。
  • 减少集成问题,每次发现问题当时解决,避免问题堆积。

架构图

CICD架构图.png 自动化上线流程: 开发人员通过git上传代码到gitlab,在gitlab和jenkins设置webhook,jenkins通过webhook发现新代码上传,然后拉取代码到本地并启动构建,jenkins通过ssh插件执行自动部署脚本,部署脚本打包后使用dockerfile创建满足部署环境的镜像并上传到harbor镜像仓库中,最后通过ansible远程控制被部署的机器从harbor上拉取镜像并创建容器,构建完成后可以通过sonarqube查看代码质量。

实验环境

服务器名称IP
gitlab192.168.111.101
jenkins192.168.111.102
harbor192.168.111.103
docker192.168.111.104
sonarqube192.168.111.105

系统版本:CentOS Linux release 7.6.1810 (Core)

实验所需软件包

实现效果:持续集成交付war包和jar包

点击前往专栏查看后续