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





相关推荐
Andy工程师7 分钟前
Netty 与 Spring Boot + HTTP 客户端(如 RestTemplate、WebClient)应用场景区别
spring boot·后端·http
有谁看见我的剑了?17 分钟前
ssh服务限制用户登录
运维·服务器·ssh
航Hang*21 分钟前
第三章:网络系统建设与运维(中级)——交换技术
运维·笔记·计算机网络·华为·ensp·交换机
终端行者23 分钟前
Nginx端到端反向代理https配置
运维·nginx·https
代码炼金术士30 分钟前
认识JVM
运维·服务器·jvm
航Hang*33 分钟前
第一章:网络系统建设与运维(高级)—— 多区域OSPF路由协议
运维·服务器·网络·笔记·智能路由器·ensp
航Hang*1 小时前
第二章:网络系统建设与运维(高级)—— IS-IS路由协议
运维·服务器·网络·笔记·智能路由器·ensp
翼龙云_cloud1 小时前
腾讯云渠道商:如何在腾讯云服务器上搭建一个属于自己的网站或者论坛?
运维·服务器·云计算·腾讯云
czlczl200209251 小时前
实战:基于 MyBatis-Plus 实现无感知的“数据权限”自动过滤
spring boot·mybatis
安科瑞刘鸿鹏171 小时前
企业配电系统中开关柜“可视化运行管理”的实现路径
大数据·运维·网络·物联网