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





相关推荐
路由侠内网穿透.14 小时前
本地部署网站流量分析工具 Matomo 并实现外部访问
运维·服务器·远程工作
dnpao14 小时前
在服务器已有目录中部署 Git 仓库
运维·服务器·git
大象席地抽烟14 小时前
NodeLocalDNS引起的一个域名解析问题
运维
超越自己15 小时前
远程连接银河麒麟服务器-xrdp方式
linux·运维·服务器·远程桌面·银河麒麟
sakoba15 小时前
Linux上kafka部署和使用
linux·运维·kafka
lxmyzzs15 小时前
在使用 `resolvconf` 的 Ubuntu 系统上持久化 DNS 设置
linux·运维·ubuntu
熊文豪16 小时前
搭建AI资讯早报:AiOnly全球大模型服务+N8N自动化工作流实战
linux·运维·服务器
檐下翻书17316 小时前
Spring Boot 深度剖析:从虚拟线程到声明式 HTTP 客户端,再到云原生最优解
spring boot·http·云原生
wanhengidc16 小时前
云真机和云手机的区别
运维·服务器·游戏·智能手机·云计算
计算机学姐17 小时前
基于SpringBoot的公务员考试管理系统【题库组卷+考试练习】
java·vue.js·spring boot·后端·java-ee·intellij-idea·mybatis