jenkins 部署springboot 项目

文章目录

基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成

基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署

持续集成

为了让程序代码可以自动推送到测试环境基于Docker服务运行,需要添加Docker配置和脚本文件让程序可以在集成到主干的同时运行起来。

  • 添加Dockerfile文件
sh 复制代码
FROM adoptopenjdk/openjdk8
# 将当前目录下的jar包复制到docker容器的/目录下
COPY arthas-study.jar /usr/local
WORKDIR /usr/local
CMD java -jar arthas-study.jar
  • 添加docker-compose.yml文件
yml 复制代码
version: "3.1"
services:
  demo:
    build: ./
    image: arthas-study:v1.0.0
    container_name: arthas-study
    ports:
      - 8888:8080
  • 追加Jenkins构建后操作脚本命令

    cd /test/arthas-study/docker
    mv ../target/arthas-study.jar ./arthas-study.jar
    docker-compose down
    docker-compose up -d --build
    docker image prune -f

  • 发布到GitLab后由Jenkins立即构建并托送到目标服务器

  • 测试部署到目标服务器程序

http://192.168.56.112:8888/user/2

指定tag发布

程序代码在经过多次集成操作到达最终可以交付,持续交付整体流程和持续集成类似,不过需要选取指定的发行版本

复制代码
* 下载Git Parameter插件
  • 设置项目参数化构建
  • 给项目添加tag版本
  • 任务构建时,采用Shell方式构建,拉取指定tag版本代码
shell 复制代码
cd /var/jenkins_home/workspace/shield-test/arthas-study
git checkout $release
/var/jenkins_home/maven/bin/mvn package





相关推荐
码农小旋风4 分钟前
Codex中文网 | Codex CLI 中文指南
运维·服务器·ide·人工智能·chatgpt·claude
草莓熊Lotso17 分钟前
【Linux网络】深入理解 HTTP 协议(四):完善 C++ HTTP 服务器:从协议原理到生产级实现
linux·运维·服务器·c语言·网络·c++·http
可可嘻嘻大老虎22 分钟前
SpringBoot拦截器防重复提交实战
java·spring boot·后端
Yang961123 分钟前
煤矿 SDH/PDH 线路检修难?鼎讯 HM-G2500 手持式传输分析仪实用解析
运维·服务器·网络
左心房的默白,,,24 分钟前
29:Alarm管理(S5)
运维·自动化
claro26 分钟前
windows2025开启Hyper-V和vmware17共存(2)
运维·服务器
snow@li27 分钟前
运维:服务器运维技术栈全景
运维
snow@li27 分钟前
前端:本地电脑和服务器,本质上都是一台计算机。
运维·服务器·前端
cheems952727 分钟前
[开发日记]Spring Boot + MyBatis-Plus 抽奖系统排障实录:从 JWT 被拦截到雪花 ID 失控,我是怎样一步步修通登录与人员列表的
spring boot·后端·mybatis
我登哥MVP32 分钟前
Spring Boot 从“会用”到“精通”:Rest风格原理
java·spring boot·后端·spring·maven·intellij-idea·mybatis