0
点赞
收藏
分享

微信扫一扫

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像

说明

全部都基于 Docker 服务搭建使用,首先用 Docker 安装 Jenkins 环境,Docker 安装 GitLab 版本管理系统,执行 Jenkins 拉取指定版本 tag 进行编译构建,在用 SonarQube 进行代码质量检测,在打包制作镜像,发布到 Harbor 镜像仓库,最后启动 SpringBoot 工程并进行访问。


系统平台

CentOS Linux 7

Docker Version: 24.0.5

Docker Compose version v2.20.2

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_Jenkins

上面的环境搭建准备,这里就不在过多描述。


相关技术栈

序号

名称

版本

备注

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 代码。

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_代码质量_02


Jenkins 创建一个自由风格的 Job 工程。

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_代码质量_03

选择 tag 版本,进行构建编译,发现部署有问题,可以及时回滚构建版本发布。

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_代码质量_04


构建编译过程

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_Docker_05

编译构建过程中的关键执行步骤如下

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_代码质量_06

#!/bin/bash -x
pwd
chmod -R 777 /usr/local/docker
rm -rf /usr/local/docker/testing/*
sleep 1
cp -rf target/*.jar /usr/local/docker/testing/
cp -rf Docker/* /usr/local/docker/testing/
cd /usr/local/docker/testing
docker-compose up -d --build
docker image prune -f
docker tag mytest:$tag 192.*.*.*:80/repository/mytest:$tag
docker login -u admin -p scm#Admin1 192.*.*.*:80
if [ $? -ne 0 ]; then
    echo "=====failed====="
    exit 1
else    
    docker push 192.*.*.*:80/repository/mytest:$tag
    echo "===== Push images Succeed ====="
fi

构建完成,打包制作镜像,发布到 Harbor 镜像仓库。

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_代码质量_07


构建编译过程,执行了 SonarQube 代码扫描分析,把代码扫描质量结果发布到系统上。 

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_Docker_08


发布制作的 docker 镜像,发布到 Harbor 仓库。

Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_Jenkins_09


Docker 部署 Jenkins 构建 SpringBoot 工程发布镜像_Jenkins_10

浏览器访问部署的 springboot 服务,可以看到已正常访问了。


到此,整个 Docker 部署 Jenkins 构建 SpringBoot 工程,进行编译,进行代码的质量扫描,然后发布镜像到镜像仓库中,最后部署 SpringBoot 工程,全部任务都完成了。

今天的分享也就结束了。




举报

相关推荐

0 条评论