说明
全部都基于 Docker 服务搭建使用,首先用 Docker 安装 Jenkins 环境,Docker 安装 GitLab 版本管理系统,执行 Jenkins 拉取指定版本 tag 进行编译构建,在用 SonarQube 进行代码质量检测,在打包制作镜像,发布到 Harbor 镜像仓库,最后启动 SpringBoot 工程并进行访问。
系统平台
CentOS Linux 7
Docker Version: 24.0.5
Docker Compose version v2.20.2
上面的环境搭建准备,这里就不在过多描述。
相关技术栈
序号 | 名称 | 版本 | 备注 |
1 | OS | CentOS Linux7 | 操作系统 |
2 | docker | 24.0.5 | 容器 |
3 | Docker Compose | 2.20.2 | 多容器应用的部署和管理工具 |
4 | Jenkins | 2.414.1 | CICD |
5 | GitLab | 14.6.1 | 版本管理 |
6 | Maven | 3.5.3 | 构建工具 |
7 | JDK | 1.8.0_301 | Java开发工具包 |
8 | SonarQube | 8.9.8 | 代码质量扫描 |
9 | Harbor | 2.8.3 | 镜像仓库 |
GitLab 创建个 HelloSpringBoot 仓库,导入 base 代码。
Jenkins 创建一个自由风格的 Job 工程。
选择 tag 版本,进行构建编译,发现部署有问题,可以及时回滚构建版本发布。
构建编译过程
编译构建过程中的关键执行步骤如下
构建完成,打包制作镜像,发布到 Harbor 镜像仓库。
构建编译过程,执行了 SonarQube 代码扫描分析,把代码扫描质量结果发布到系统上。
发布制作的 docker 镜像,发布到 Harbor 仓库。
浏览器访问部署的 springboot 服务,可以看到已正常访问了。
到此,整个 Docker 部署 Jenkins 构建 SpringBoot 工程,进行编译,进行代码的质量扫描,然后发布镜像到镜像仓库中,最后部署 SpringBoot 工程,全部任务都完成了。
今天的分享也就结束了。