从零开始搭建伪CICD平台(docker+gitlab+jenkins+maven+tomcat)

注:本人cicd小白,对于cicd的学习也是基于学习网站视频+搜索资料,光学习只是纸上谈兵,所以想要手动搭建一番并记录于此,如果您对cicd了解不多,可以参考此文章,本人会持续更新

最终实现效果:
gitlab推送后,jenkins自动拉取新代码,提交给maven打包成war包,再将war包发布到tomcat中并打包成镜像,最后自动部署到远程服务器上(这里的gitlab、jenkins、maven等均使用容器服务)

【整体框架图、待补充】

在开始之前,可以先去了解一下什么是cicd及devops,真正的cicd平台功能远不止上面所述的这些,所以称之为伪cicd,这里放一个连接供参考了解:
DevOps与CICD的区别 及 docker、k8s的CICD思路

本人对devops及cicd的理解,简单来说devops是一种将开发+测试+运维整合在一起的理念,而cicd是devops的一种具体实现。为什么需要这个理念呢?这里就牵扯到传统运维开发模式的矛盾了,开发的职责是“变”,而运维的职责是“稳”,试想一下,开发每次开发出一个新功能或者修复一个bug,接下来就是测试登场了,一顿操作之后确认没问题就交给运维发版上线了,对于需要对外提供服务的应用上线时间经常得选在深夜,这种模式在以前还可以支撑下去,但是随着微服务的兴起,一个应用一天更新几个版本是很正常的,一个系统有十几个、几十个独立的为服务也不足为奇(微服务本身就是为了将一个大系统拆解成多个组件,各组件之间解藕而存在的),在这种情况下如果还沿用之前的开发方式,那么不管是开发还是运维都会痛苦不堪,所以devops这种理念便应运而生,而目前最主流的一个实现就是cicd(本人理解较为浅薄,如有不正之处望多多包涵)
从零开始搭建伪CICD平台(docker+gitlab+jenkins+maven+tomcat)_第1张图片

好了,闲话不多说,我们直接从零开始开干,为了避免单篇文章篇幅太长,这里作为一个整体框架,一些具体操作可能另起文章,首先我们将机器安装好docker:
CentOS7.5 安装docker

你可能感兴趣的:(CICD,ci/cd,jenkins,devops)