jenkins 部署springboot 项目

news2024/11/24 1:16:12

文章目录

  • 持续集成
  • 指定tag发布

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

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

持续集成

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

  • 添加Dockerfile文件
FROM adoptopenjdk/openjdk8
# 将当前目录下的jar包复制到docker容器的/目录下
COPY arthas-study.jar /usr/local
WORKDIR /usr/local
CMD java -jar arthas-study.jar


  • 添加docker-compose.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版本代码
cd /var/jenkins_home/workspace/shield-test/arthas-study
git checkout $release
/var/jenkins_home/maven/bin/mvn package

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1639993.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务网关GateWay原理

文章目录 自动装配核心类GatewayAutoConfigurationDispatcherHandler请求处理阶段apply方法httpHandler#handle方法WebHandler#handle方法DispatchHanlder#handle方法第一步 getHandler获取请求映射第二步 invokeHandler 请求适配第三步 handleResult请求处理总结 上一篇博文我…

C语言二叉树和堆

二叉树基础知识: 1.栈、队列和顺序表都是线性结构 但是二叉树不是,二叉树是多分支结构 2.任何一棵树都可以拆分为子树和根节点,许多二叉树的相关问题都是用分治的思想进行函数的递归进行解决。 例:前序,中序&#x…

社交媒体数据恢复:推特、Twitter

推特(Twitter)数据恢复:如何找回丢失的内容 随着社交媒体的普及,越来越多的人开始使用推特(Twitter)来分享生活点滴、发表观点和获取信息。然而,有时候我们会不小心删除了重要的推文&#xff0…

【牛客网】排列计算

原题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 如果直接涂色来计算单点权重&#xff0c;2e5*2e5必然超时。 所以用差分进行优化。 3. 代码实现 #include<bits/stdc.h> using name…

漏洞扫描神器:Nessus 保姆级教程(附破解步骤)

一、介绍 Nessus是一款广泛使用的网络漏洞扫描工具&#xff0c;用于发现和评估计算机系统和网络中的安全漏洞。它是一款功能强大的商业工具&#xff0c;由Tenable Network Security开发和维护。 以下是Nessus的一些主要特点和功能&#xff1a; 1. 漏洞扫描&#xff1a;Nessu…

来一篇错题集(虽然简单吧)

一.Assembly via Remainders #include<bits/stdc.h> using namespace std; typedef long long ll; int a[2000]; int b[2000]; int main(){int t;cin>>t;while(t--){int n;cin>>n;for(int i1;i<n-1;i){cin>>b[i];}int x1000000000;//使用1000000000…

241 基于matlab的Dijkstra算法进行路径规划

基于matlab的Dijkstra算法进行路径规划。可根据实际情况输入障碍物和起止点坐标信息&#xff1b; 输出避碰最短路径&#xff1b; 能够利用切线图算法对障碍物区域进行环境建模&#xff0c;设置障碍物的位置和区域。利用Dijkstra算法进行路径规划。程序已调通&#xff0c;可直接…

uniapp实现点击事件跳转页面

首先定义一个点击事件 这里采用的vue3的写法&#xff0c;然后写上触发事件后要跳转的路径 function jump() {uni.switchTab({url:/pages/bangong/index})} 到这里就简单的实现uniapp的点击跳转页面了

类和对象【四】运算符重载

文章目录 运算符重载的概念运算符重载&#xff08;函数&#xff09;返回值类型&#xff1a;任意类型函数名&#xff1a;operator已有操作符 运算符重载&#xff08;函数&#xff09;的特点和注意点3个比较特殊的运算符重载赋值运算符&#xff08;&#xff09;重载返回值类型和返…

C++奇迹之旅:C++内存管理的机制(进阶篇)

文章目录 &#x1f4dd;new和delete操作自定义类型&#x1f320; operator new与operator delete函数&#x1f309;operator new与operator delete函数 &#x1f320;new和delete的实现原理&#x1f309;内置类型&#x1f309;自定义类型 &#x1f320;定位new表达式(placement…

【CTF MISC】XCTF GFSJ0512 give_you_flag Writeup(图像处理+QR Code识别)

give_you_flag 菜狗找到了文件中的彩蛋很开心&#xff0c;给菜猫发了个表情包 解法 图片的最后一帧好像闪过了什么东西。 用 Photoshop 打开&#xff0c;检查时间轴。 找到一张二维码&#xff0c;但是缺了三个角&#xff08;定位图案&#xff09;&#xff0c;无法识别。 找一…

单片机编程实例400例大全(100-200)

今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际产品的参考价值。 今天继续分享单片机编程实例第100-200例。 今天的实例会比前面100复杂一些&#xff0c;我大概看了下&#xff0c;很多都具备实际…

学习经验分享【34】目标检测算法常见疑问(持续更新)

很多同学在学习深度学习算法过程中会遇到各种各样的问题,本博文对大家普遍存在的问题进行答疑,包括写论文常需要的指标FPS如何计算得到,怎么判断模型是否收敛等问题。如有问题可通过以下方式联系我。 一、Fuse指的是什么 Fuse是指模型的一些模块进行融合,最常见的就是conv和…

AI图书推荐:如何使用ChatGPT来提升逻辑分析能力

在一个日益由数据和技术驱动的世界中&#xff0c;进行逻辑思考和做出明智决策的能力比以往任何时候都更为关键。逻辑分析构成了理性思考的基础&#xff0c;引导我们穿越复杂问题&#xff0c;并帮助我们得出合理的结论。随着人工智能&#xff08;AI&#xff09;的出现&#xff0…

普通电机与变频电机区别

普通电机和变频电机之间的区别&#xff1a; 1. 设计和构造&#xff1a; - 普通电机&#xff1a;设计用于在恒定的电源频率和电压下工作&#xff0c;通常具有固定的转速和功率。 - 变频电机&#xff1a;专门设计用于与变频器配合使用&#xff0c;能够在变化的频率和电压下运行&…

07 - 步骤 javaScript代码

简介 JavaScript 代码是通过 JavaScript 脚本步骤来执行 JavaScript 脚本的一种方式。这允许用户在 Kettle 的数据流程中使用 JavaScript 编写自定义的脚本逻辑&#xff0c;用于数据处理、转换、计算等操作。 使用 场景 我需要在数据流加一个字段 createTime 当前时间&…

2024年 Java 面试八股文——SpringMVC篇

目录 1.简单介绍下你对springMVC的理解? 2.说一说SpringMVC的重要组件及其作用 3.SpringMVC的工作原理或流程 4.SpringMVC的优点 5.SpringMVC常用注解 6.SpringMVC和struts2的区别 7.怎么实现SpringMVC拦截器 8.SpringMvc的控制器是不是单例模式&#xff1f;如果是&am…

Matlab|二阶锥松弛在配电网最优潮流计算中的应用

目录 一、主要内容 二、部分代码 三、程序代码 四、下载链接 一、主要内容 最优潮流计算是电网规划、优化运行的重要基础。首先建立了配电网全天有功损耗最小化的最优潮流计算模型&#xff1b;其次结合辐射型配电网潮流特点建立支路潮流约束&#xff0c;并考虑配电网中的可…

C++ 多态(一)

一、多态定义 同一种操作作用于不同的对象时&#xff0c;可以产生不同的行为。在面向对象编程中&#xff0c;多态性是指通过继承和重写实现的&#xff0c;同一个方法在不同的子类中可以表现出不同的行为。多态性可以提高代码的灵活性和可扩展性&#xff0c;使得程序更易于维护…

LeetCode 131 —— 分割回文串

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 首先&#xff0c;按照 LeetCode 5——最长回文子串 中的思路&#xff0c;我们先求出 d p dp dp&#xff0c;这样我们就知道了所有的子串是否是回文子串。 然后&#xff0c;我们进行一个 dfs 搜索&#xff0c;起…