Appearance
一阶段
代码仓库:
gitlab,上传代码之后,远程触发Jenkins构建(GitLab配置Webhook事件)。Jenkins通过
Execute shell脚本进行构建,将代码打包成war包,然后通过远程执行部署服务器上的shell脚本。部署服务器上的
shell脚本负责以下工作:1、下载war包。 2、备份旧包解压新war包。 3、重启tomcat。
一阶段后续
- 关闭上传代码之后,自动远程触发
Jenkins构建。(大多时候不想频繁发布,部分项目开启了定时构建开发自测环境)
一阶段再后续
因为多种原因,改为不再远程执行部署服务器上的
shell脚本。然后由部署人员手动执行脚本。原因:项目众多,但因安全问题,服务器账号密码不再统一,需为每个项目配置不同的复杂账号密码。jenkins不方便进行账号密码管理。并且服务器也不再允许直接访问,中间加入了堡垒机。
二阶段
gitlab CICD流水线将项目打包成镜像(使用的jib来构建),并上传到镜像仓库。服务器上使用
docker-compose管理镜像,启动项目。将控制台日志目录统一挂载出来方便查看。
三阶段
saas架构,gitlab CICD流水线将项目打包成镜像,并上传到镜像仓库。然后通知
k8s集群,拉取镜像,并重启项目。