找回密码
 立即注册
查看: 416|回复: 0

[linux] jenkins+docker实现可持续自动化部署springboot项目

[复制链接]

279

主题

0

回帖

964

积分

超级版主

积分
964
发表于 2024-6-3 12:29:31 | 显示全部楼层 |阅读模式
本帖最后由 Shaw0xyz 于 2024-6-9 13:55 编辑

1. 引言

在现代软件开发中,持续集成和持续部署(CI/CD)是提高开发效率和代码质量的重要手段。Jenkins作为一款流行的开源自动化服务器,结合Docker可以实现高效的自动化部署。本文将详细介绍如何使用Jenkins和Docker实现Spring Boot项目的持续自动化部署。

1.1 持续集成与持续部署概述

持续集成(CI)是一种软件开发实践,开发人员经常将代码集成到共享代码库中。每次集成都通过自动化构建(包括编译、测试)来验证,从而尽早发现错误。

持续部署(CD)是CI的延续,指的是代码在通过所有测试后自动部署到生产环境。这使得新功能和修复能够更快地交付给用户。

2. 环境准备

在开始实现持续自动化部署之前,需要准备以下环境和工具:

(1) JDK 1.8及以上版本
(2) Maven或Gradle构建工具
(3) Docker
(4) Jenkins
(5) Git

2.1 安装Docker

Docker是一个开源的容器化平台,能够将应用程序及其依赖打包成一个可移植的容器。安装Docker的方法如下:

linux系统上,可以通过以下命令安装Docker:

  1. sudo apt-get update
  2. sudo apt-get install -y docker-ce
复制代码


windows和MacOS上,可以从Docker官网下载安装包并按照指引安装。

2.2 安装Jenkins

Jenkins是一个开源的自动化服务器,用于实现CI/CD。安装Jenkins的方法如下:

在Linux系统上,可以通过以下命令安装Jenkins:

  1. wget -q -O - <a href="https://pkg.jenkins.io/debian/jenkins.io.key" target="_blank">https://pkg.jenkins.io/debian/jenkins.io.key</a> | sudo apt-key add -
  2. sudo sh -c 'echo deb <a href="http://pkg.jenkins.io/debian-stable" target="_blank">http://pkg.jenkins.io/debian-stable</a> binary/ > /etc/apt/sources.list.d/jenkins.list'
  3. sudo apt-get update
  4. sudo apt-get install -y jenkins
复制代码


在Windows和MacOS上,可以从Jenkins官网下载安装包并按照指引安装。

3. 配置Jenkins

安装完成后,启动Jenkins,并在浏览器中打开http://localhost:8080。按照页面提示完成初始设置,包括安装推荐的插件和创建管理员用户。

3.1 安装必要插件

为了与Docker集成,需要在Jenkins中安装Docker插件。在Jenkins主页面,依次选择“Manage Jenkins” -> “Manage Plugins” -> “Available”,然后搜索并安装“Docker”插件。

3.2 配置全局工具

在Jenkins主页面,依次选择“Manage Jenkins” -> “Global Tool Configuration”,配置JDK和Maven的安装路径。

4. 创建Jenkins任务

接下来,创建一个新的Jenkins任务来实现Spring Boot项目的自动化部署。

4.1 创建自由风格项目

在Jenkins主页面,选择“New Item”,输入任务名称并选择“Freestyle project”,然后点击“OK”。

4.2 配置源码管理

在任务配置页面,选择“Source Code Management” -> “Git”,并填写Spring Boot项目的Git仓库URL和凭据。

4.3 配置构建触发器

选择“Build Triggers”,勾选“Poll SCM”,并在Schedule中填写构建触发规则。例如,“H/5 * * * *”表示每5分钟检查一次代码库是否有变化。

4.4 配置构建步骤

选择“Build” -> “Add build step” -> “Invoke top-level Maven targets”,并在Goals中填写“clean package”,用于构建Spring Boot项目。

4.5 配置构建后操作

选择“Post-build Actions” -> “Add post-build action” -> “Deploy to container”,并配置Docker的相关信息。填写Docker主机URL、Docker镜像名称和容器端口映射等信息。

5. 编写Dockerfile

为了将Spring Boot项目容器化,需要编写一个Dockerfile,并将其放置在项目根目录下。示例如下:

  1. FROM openjdk:8-jdk-alpine
  2. VOLUME /tmp
  3. COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
  4. ENTRYPOINT ["java","-jar","/app.jar"]
复制代码


上述Dockerfile使用OpenJDK作为基础镜像,将Spring Boot项目的JAR文件复制到镜像中,并指定了应用的启动命令。

6. 构建和部署

在完成上述配置后,保存任务并点击“Build Now”按钮,Jenkins将开始构建Spring Boot项目并生成Docker镜像。构建完成后,Jenkins会自动将Docker镜像部署到指定的容器中。

7. 结论

通过本文的介绍,我们了解了如何使用Jenkins和Docker实现Spring Boot项目的持续自动化部署。通过CI/CD流水线,开发人员可以在每次代码提交后自动构建、测试和部署项目,从而提高开发效率和代码质量。在实际应用中,可以根据项目需求进一步优化和扩展CI/CD流程。



/ 荔枝学姐de课后专栏 /

Hi!这里是荔枝学姐~

欢迎来到我的课后专栏

自然语言学渣 NLP摆烂姐

热衷于技术写作 IT边角料

AIGC & Coding & Linux ...

~互撩~ TG: @Shaw_0xyz
荔枝学姐爱吃荔枝!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:40 , Processed in 0.057500 second(s), 23 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表