当前位置: 首页 > news >正文

10.Jenkins用tags的方式自动发布java应用

Jenkins用tags的方式自动发布java应用

        • 1.配置jenkins,告诉jenkins,jdk的安装目录,maven的安装目录
        • 2.构建一个maven项目
          • 指定构建参数,选择Git Paramete
          • 在源码管理中,填写我们git项目的地址,调用变量
          • 构建前执行的操作
          • 构建阶段
          • 构建后执行的操作
        • 3.开发提交代码至gitlab
        • 4.Jenkins上进行构建
        • 5.查看效果

大概环境:

在这里插入图片描述


1.配置jenkins,告诉jenkins,jdk的安装目录,maven的安装目录

管理Jenkins–>全局工具配置–>JDK安装–>新增JDK

java -version	#查看jdk版本
mvn -version	#查询java的安装路径Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre

在这里插入图片描述
全局工具配置–>Maven–>新增Maven

mvn -version	#查看maven安装目录Maven home: /usr/share/maven

在这里插入图片描述
安装maven插件
在这里插入图片描述

2.构建一个maven项目

在这里插入图片描述

指定构建参数,选择Git Paramete

在这里插入图片描述

在源码管理中,填写我们git项目的地址,调用变量

在这里插入图片描述

构建前执行的操作

Jenkins上提前准备好连接生产用的数据库配置文件,然后代码拉取下来后进行替换即可
在这里插入图片描述

构建阶段

填写选项,跳过测试用例
在这里插入图片描述

构建后执行的操作

在这里插入图片描述

vim /var/lib/jenkins/scripts/java_tag.sh#!/usr/bin/bashwebservers="192.168.xx.xxx 192.168.xx.xxx"
Date=$(date +%F-%H-%M)
Web_Dir=/opt
Web_Name=ROOT_${Date}_${git_version}cd ${WORKSPACE} && \for host in ${webservers}
doscp target/*.war root@$host:${Web_Dir}/${Web_Name}.war	&& \   #拷贝war包到集群机器的指定目录ssh root@$host "cd ${Web_Dir} && \     #登陆到集群的机器,进入存放war包的目录mkdir -p ${Web_Name} && \        #创建一个目录unzip ${Web_Name}.war -d ${Web_Name} && \  #解压war包到刚才创建的目录rm -f ${Web_Name}.war && \   #删除包rm -rf /soft/tomcat/webapps/ROOT  && \  #删除ROOT目录ln -s ${Web_Dir}/${Web_Name} /soft/tomcat/webapps/ROOT && \	 #创建软连接pkill java && \		#干掉java/soft/tomcat/bin/startup.sh"    #重载服务
done

3.开发提交代码至gitlab

进入项目目录,修改代码后打个标签然后提交

cd hello-world-war-master	
git add .
git commit -m 'hello_v1.0'
git tag -a v1.0 -m 'hello_v1.0'
git push origin --tags

4.Jenkins上进行构建

在这里插入图片描述

5.查看效果

在这里插入图片描述
刷新页面

在这里插入图片描述

相关文章:

10.Jenkins用tags的方式自动发布java应用

Jenkins用tags的方式自动发布java应用1.配置jenkins,告诉jenkins,jdk的安装目录,maven的安装目录2.构建一个maven项目指定构建参数,选择Git Paramete在源码管理中,填写我们git项目的地址,调用变量构建前执行…...

2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)

相同数字的积木游戏 1 题目 小华和小薇一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字, 积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的 2 块积木块,计算他们的距离。 小薇请你帮忙替她…...

重构之改善既有代码的设计(一)

1.1 何为重构,为何重构 第一个定义是名词形式: 重构(名词):对软件内部结构的一种调整,目的是在不改变「软件可察行为」前提下,提高其可理解性,降低修改成本。 「重构」的另一个用…...

Kotlin data class 数据类用法

实验数据 {"code":1,"message":"成功","data":{"name":"周杰轮","gender":1} }kotlin数据类使用方便提供如下内部Api: equals()/hashCode()对 toString() componentN()按声明顺序与属性相…...

随笔-老子不想牺牲了

18年来到这个项目组,当时只有8个人,包括经常不在的架构师和经理。当时的工位在西区1栋A座,办公桌很宽敞。随着项目的发展,入职的人越来越多,项目的工位也是几经搬迁。基本上每次搬迁时,我的工位都是挑剩下的…...

三种查找Windows10环境变量的方法

文章目录一.在设置中查看二. 在我的电脑中查看三. 在资源管理器里查看一.在设置中查看 在系统中搜索设置 打开设置,在设置功能里,点击第一项 系统 在系统功能里,左侧菜单找到关于 在关于的相关设置里可以看到高级系统设置 点击高级系…...

STM32单片机DS18B20测温程序源代码

OLED液晶屏电路接口DS18B20电路接口STM32单片机DS18B20测温程序源代码#include "sys.h"#define LED_RED PBout(12)#define LED_GREEN PBout(13)#define LED_YELLOW PBout(14)#define LED_BLUE PBout(15)#define DS18B20_IO_IN() {GPIOA->CRL&0XFFFFFFF0;GPIOA…...

java日志查看工具finder介绍

目录 一、finder介绍 二、单节点部署 1、服务器需要安装Tomcat,以2.82.16.35为例 2、进入Tomcat下目录webapps下,创建FIND目录,进入FIDN目录 3、下载findweb插件,解压缩 4、登录页面,配置 5、添加日志路径 三、…...

手写现代前端框架diff算法-前端面试进阶

前言 在前端工程上,日益复杂的今天,性能优化已经成为必不可少的环境。前端需要从每一个细节的问题去优化。那么如何更优,当然与他的如何怎么实现的有关。比如key为什么不能使用index呢?为什么不使用随机数呢?答案当然…...

【半监督医学图像分割 2022 MICCAI】CLLE 论文翻译

文章目录【半监督医学图像分割 2022 MICCAI】CLLE 论文翻译摘要1. 简介2. 方法2.1 半监督框架概述2.2 监督局部对比学习2.3 下采样和块划分3. 实验4. 结论【半监督医学图像分割 2022 MICCAI】CLLE 论文翻译 论文题目:Semi-supervised Contrastive Learning for Labe…...

vivo官网App模块化开发方案-ModularDevTool

作者:vivo 互联网客户端团队- Wang Zhenyu 本文主要讲述了Android客户端模块化开发的痛点及解决方案,详细讲解了方案的实现思路和具体实现方法。 说明:本工具基于vivo互联网客户端团队内部开源的编译管理工具开发。 一、背景 现在客户端的业…...

Python基础-数据类型之数字类型

变量中的变量值是用来存储事物状态的,事物的状态分成不同的种类(例如:人的姓名、年龄,身高、职位、工资等),因此变量值有多种不同的数据类型。 age 18 # 用整型记录年龄 salary 3.1 # 用浮点型记录…...

基于Web的6个完美3D图形WebGL库

现代前端、游戏和Web开发正是WebGL可以转化为数字杰作的东西。使用GPU绘制在浏览器屏幕上生成的矢量元素,WebGL创建交互式Web图形,从而获得用户体验。视觉元素的质量和复杂性使该工具在HTML或CSS等其他方法中脱颖而出。WebGL基础WebGL不是一个图形套件。…...

界面组件DevExpress Reporting v22.2 - 增强的Web报表组件UI

DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpress Reporting v22.2版本已正式发布&…...

初学vector

目录 string的收尾 拷贝构造的现代写法: 浅拷贝: 拷贝构造的现代写法: swap函数: 内置类型有拷贝构造和赋值重载吗? 完善拷贝构造的现代写法: 赋值重载的现代写法: 更精简的现代写法&…...

Windows10 安装wsl2、Ubuntu相关操作

Windows10 安装wsl2、Ubuntu相关操作 安装wsl2 查看本机windows版本: 键盘上按下winr,输入winver,查看系统版本。必须运行 windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 windows 11。满足版本要求后&#xf…...

SpringBoot简单使用MongoDB

MongoDB介绍 SpringBoot简单使用MongoDB 一、配置步骤 1、application.yml 2、pom 3、entity 4、mapper 二、案例代码使用 1、库 前期准备上一篇安装MongoDB地址http://t.csdn.cn/G4oYJ 跟关系型数据库概念对比 Mysql MongoDB Database(数据库) Datab…...

Oracle Data Guard 角色转换(Role Transitions)

查询视图V$DATABASE的DATABASE_ROLE列可以看到数据库当前的角色。 1.角色转换介绍 Oracle Data Guard让你可以使用SQL语句或者通过Oracle Data Guard broker界面来动态更改数据库的角色,Oracle Data Guard支持以下的角色转换: 1&#xff0…...

opencv的TrackBar控件

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

关于基线长度对双天线GNSS测姿精度的影响

文章目录一、GNSS测姿原理1. 载波相位双差求解基线向量2. GNSS姿态角表示二、基线长度对GNSS测姿精度的影响三、GNSS定向产品精度描述实例四、参考文献在GNSS定向模块或者板卡的指标参数中,我们一般会看到航向的测量精度和基线的长度相关。在实际使用,用…...

口交换机睿易 RG-NBS1826GC 24 口

接口形态不将就,标配光纤接口传输性能不将就,标配千兆上联口和大缓存设计端口数量不将就,8/16/24 三种选择楼宇对讲交换机不将就,保证开锁指令品质服务不将就,监控专用交换机接口形态不将就,标配光纤接口非…...

如何在Excel中向下拉列表中添加条件

在Excel中向下拉列表中添加条件 创建矩阵型数据集创建下拉列表创建第一个下拉列表创建第二个下拉列表你可以使用Microsoft Excel下拉列表来显示一个简单的列表,尽管有时需要更多的控制。假设你的人员分散在四个地区:北部、南部、东部和西部。你希望按地区与人员合作,而不是与…...

自定义bean 加载到spring IOC容器中

自定义bean加载到spring容器中的两种方式: 1.在类上添加注解Controller、RestController(本质是Controller)、Service、Repository、Component2.使用Configuration和Bean 这篇文章主要介绍第二种方式原理(因为在实际使用中&#…...

[python入门㊻] - python装饰器和类的装饰器

目录 ❤ python装饰器介绍 ❤ 什么是装饰器 ❤ 装饰器的流程 ❤ 定义装饰器时通常会涉及以下3个函数 无参装饰器 有参装饰器 多重装饰器 ❤ 装饰器的用法(闭包) ❤ 装饰器语法糖 ❤ 时间计时器 ❤ 装饰器中wraps作用 不使用wraps装饰器 使用wraps装饰器解…...

企业级信息系统开发学习1.1 初识Spring——采用Spring配置文件管理Bean

文章目录一、Spring容器演示——采用Spring配置文件管理Bean(一)创建Maven项目(二)添加Spring依赖(三)创建杀龙任务类(四)创建勇敢骑士类(五)采用传统方式让勇…...

CSS盒子模型

盒子模型 CSS三大特性 继承性、层叠性、优先级 优先级比较 继承 < 通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important 注意&#xff1a;!important不能提升继承的优先级&#xff0c;只要是继承优先级最低 复合选择器权重叠加计…...

Python基础学习笔记 —— 数据结构与算法

数据结构与算法1 数据结构基础1.1 数组1.2 链表1.3 队列1.4 栈1.5 二叉树2 排序算法2.1 冒泡排序2.2 快速排序2.3 &#xff08;简单&#xff09;选择排序2.4 堆排序2.5 &#xff08;直接&#xff09;插入排序3 查找3.1 二分查找1 数据结构基础 本章所需相关基础知识&#xff1a…...

笔记本连接wifi,浏览器访问页面,显示访问被拒绝

打开chrome、edge浏览器访问第1个第2个页面正常&#xff0c;后面再打开页面显示异常。 但手机连接正常&#xff0c;笔记本连接异常&#xff0c;起初完全没有怀疑是wifi问题 以为用了vpn软件问题&#xff0c;认为中了病毒。杀毒&#xff0c;并没有中毒。 1、关闭vpn代理&#…...

36个物联网专业毕业论文选题推荐

物联网技术在智能家居系统中的应用研究物联网在智慧城市建设中的作用物联网在工业4.0中的实现与发展 物联网与智能物流系统的结合物联网与医疗健康领域的融合研究物联网与环境监测系统的集成物联网与农业生产的结合研究物联网技术对汽车行业的影响与发展物联网在智能安防领域的…...

Pytorch复习笔记--torch.nn.functional.interpolate()和cv2.resize()的使用与比较

1--前言 博主在处理图片尺度问题时&#xff0c;习惯使用 cv2.resize() 函数&#xff1b;但当图片数据需用显卡加速运算时&#xff0c;数据需要在 GPU 和 CPU 之间不断迁移&#xff0c;导致程序运行效率降低&#xff1b; Pytorch 提供了一个类似于 cv2.resize() 的采样函数&…...

什么叫网站建设四网合一/重庆seo网络优化咨询热线

前面一篇《NoSQL架构实践&#xff08;一&#xff09;——以NoSQL为辅》主要介绍了以NoSQL为辅助的架构&#xff0c;这种架构实施起来比较简单&#xff0c;易于理解&#xff0c;由于其中也使用了传统的关系数据库&#xff0c;让开发者更容易控制NoSQL带来的风险。接下来我们继续…...

大庆建设局网站/如何做宣传推广效果最好

搜索热词用file_get_contents()抓取了 这个网址上的内容http://simonfenci.sinaapp.com/index.PHP?keysimon&wd1314abc看似好像反回的是数组。。但是我不管怎么用foreach循环都报错。。我只想把数组中的word里面的值 取出来。方法如下&#xff1a;正解(其他的字段一样&…...

wordpress函数调用实例/电商培训课程

发现以前配好的java环境变量和tomcat环境变量全都清空了&#xff0c;在重新配置的时候总是出现问题&#xff0c;即在cmd命令窗口下&#xff0c;输入java&#xff0c;显示正常&#xff0c;输入java -version 也是显示正常&#xff0c;唯独输入javac&#xff0c;显示“javac不是内…...

中国建设银行网站打不开/网络营销的模式有哪些?

为什么我上传一张特定的图片一直是这个异常&#xff0c;但是图片能上传到服务器&#xff0c;save保存方法也没执行成功没插入到数据库中&#xff0c;是不是跟我那个保存方法里面其他东西有关&#xff0c;这个跟图片大小无关&#xff0c;因为上传比它大的图片保存方法都能成功ja…...

百度搜索什么关键词能搜到网站/seo高级教程

在使用zend framework的时候&#xff0c;最先引入的一定是AutoLoad的机制&#xff0c;这里就想分析下Zend的AutoLoad是怎么引入的。 代码示例 12345678910111213set_include_path(USVN_LIB_DIR . PATH_SEPARATOR . get_include_path());require_once Zend/Loader/Autoloader.ph…...

企业数字化建设公司/seo推广排名软件

说明 目前互联网公司&#xff0c;大部分项目都是基于分布式&#xff0c;一个项目被拆分成几个小项目&#xff0c;这些小项目会分别部署在不同的计算机上面&#xff0c;这个叫做微服务。当一台计算机的程序需要调用另一台计算机代码的时候&#xff0c;就涉及远程调用。此时dubbo…...