Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建镜像与部署

1、前言与初衷

  • 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用。
  • 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲。
  • 本文章主要讲述Docker、Jenkins、GitLab、Git、JDK、SpringBoot、Maven等技术结合实现自动化运维部署(DevOps)应用工程,适合SpringCloud部署。
  • 初衷想法:在学习过程中遇到比较有趣的问题、然而花了点心血和时间去整理,然而进行梳理出来一份文章比较完整有知识体系的DevOps自动化构建与部署工程文章,技术知识内容比较多,而且文章内容较长,然而分了几个章程来讲述

2、什么是DevOps?

  • DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合,它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
  • 它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

3 涉及软件环境搭建内容

  • 3.1 如何在Centos7安装JDK1.8-u121详解 https://www.jianshu.com/p/dfaaedeb6817
  • 3.2 如何在Centos7安装Maven3.6.1详解 https://www.jianshu.com/p/299eeef785f0
  • 3.3 如何在Centos7安装Git详解 https://www.jianshu.com/p/a22577232977
  • 3.4 如何在CentOS7与Git配置免密码登陆详解 https://www.jianshu.com/p/e4946edce9a4
  • 3.5 如何在Docker安装GitLab详解 https://www.jianshu.com/p/0bc9b4755082
  • 3.6 如何在Docker创建NetWork网络详解 https://www.jianshu.com/p/9784d63eff23
  • 3.7 如何在Docker安装Registry私服详解 https://www.jianshu.com/p/7827e40aaa71
  • 3.8 如何在Docker安装Jenkins详解 https://www.jianshu.com/p/72d05e43a8f3

特别说明

Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建镜像与部署

特别说明

1、如何使用Maven结合Docker把SpringBoot应用编译成可用的镜像进行部署。

2、其中JDK和Maven是传统方式进行安装,由于本人Centos操作系统是有其他软件依赖它们,有时候传统方式安装软件会更好,这里不过多的阐述。有些软件在Docker安装过程与使用过程并没传统方式的简单,比如:Jenkins。

【CentOS-7-x86_64-Minimal-1810.iso下载地址】 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

4、需要准备的工作有哪些

4.1 工程结构

  • 打开IDEA或Eclipse新建一个SpringBoot的应用.

Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建镜像与部署

Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建镜像与部署

Docker+Jenkins+GitLab+Maven+SpringBoot自动化构建镜像与部署

4.2、SpringBoot配置和代码详解

4.2.1工程的pom.xml配置

  • SpringBoot和Docker依赖的jar配置

<dependencies>

<!-- Springboot依赖的Jar包 -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!-- Springboot热部署jar-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-devtools</artifactId>

<scope>runtime</scope>

<optional>true</optional>

</dependency>

<!--yml配置文件提示插件-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-configuration-processor</artifactId>

<optional>true</optional>

</dependency>

<!-- spring-boot测试jar -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

<scope>test</scope>

</dependency>

</dependencies>

<build>

<finalName>springboot</finalName>

<!-- 一定要声明如下配置 打包xml 到Jar包 -->

<!-- <resources>

<resource>

<directory>src/main/java</directory>

是否替换资源中的属性

<filtering>false</filtering>

</resource>

</resources&g

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DockerJenkinsGitLabMavenHarbor和Spring Boot是一些常用的IT工具和技术,可以用于实现自动化构建部署Docker是一个开源的容器化平台,可以将应用程序及其依赖项打包到容器中,从而实现应用程序的快速部署和隔离。使用Docker可以方便地创建、分享和管理应用程序的容器化版本。 Jenkins是一个开源的持续集成和持续交付工具,可以帮助团队自动化构建、测试和部署应用程序。使用Jenkins可以通过配置和管理各种构建部署任务,从而实现自动化的软件开发流程。 GitLab是一个基于Git的代码托管和协作平台,可以帮助团队协同开发、管理代码和进行版本控制。使用GitLab可以方便地管理代码仓库、进行代码审查和版本管理。 Maven是一个软件项目管理和构建工具,可以帮助团队自动化构建、测试和部署Java项目。使用Maven可以方便地管理项目依赖、编译代码、运行单元测试等构建任务。 Harbor是一个开源的企业级Docker镜像仓库,用于管理和存储Docker镜像。使用Harbor可以方便地管理镜像的推送、拉取和版本控制。 Spring Boot是一个轻量级的Java开发框架,可以帮助开发者快速构建部署基于Spring的应用程序。使用Spring Boot可以简化项目配置和管理,提高开发效率。 将这些工具结合使用,可以实现自动化构建部署。例如,可以使用Jenkins配置一个定时任务,当代码提交到GitLab时,Jenkins会自动触发构建任务。构建任务可以使用Maven编译、打包和测试应用程序,然后使用Docker将应用程序打包成容器镜像,并推送到Harbor中。最后,使用Docker将应用程序部署到服务器上进行运行。这样,我们就可以实现应用程序的自动化构建部署,提高开发和交付效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值