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.查看效果
刷新页面
相关文章:
![](https://img-blog.csdnimg.cn/2088790f58614ec9902029a4e3fe16df.png)
10.Jenkins用tags的方式自动发布java应用
Jenkins用tags的方式自动发布java应用1.配置jenkins,告诉jenkins,jdk的安装目录,maven的安装目录2.构建一个maven项目指定构建参数,选择Git Paramete在源码管理中,填写我们git项目的地址,调用变量构建前执行…...
![](https://www.ngui.cc/images/no-images.jpg)
2023新华为OD机试题 - 相同数字的积木游戏 1(JavaScript)
相同数字的积木游戏 1 题目 小华和小薇一起通过玩积木游戏学习数学。 他们有很多积木,每个积木块上都有一个数字, 积木块上的数字可能相同。 小华随机拿一些积木挨着排成一排,请小薇找到这排积木中数字相同且所处位置最远的 2 块积木块,计算他们的距离。 小薇请你帮忙替她…...
![](https://lucas-default-bucket.oss-cn-hangzhou.aliyuncs.com/imgbed/image-20230131195507602.png)
重构之改善既有代码的设计(一)
1.1 何为重构,为何重构 第一个定义是名词形式: 重构(名词):对软件内部结构的一种调整,目的是在不改变「软件可察行为」前提下,提高其可理解性,降低修改成本。 「重构」的另一个用…...
![](https://www.ngui.cc/images/no-images.jpg)
Kotlin data class 数据类用法
实验数据 {"code":1,"message":"成功","data":{"name":"周杰轮","gender":1} }kotlin数据类使用方便提供如下内部Api: equals()/hashCode()对 toString() componentN()按声明顺序与属性相…...
![](https://img-blog.csdnimg.cn/b64ec2c7b615411eb78e9a79206095df.jpeg)
随笔-老子不想牺牲了
18年来到这个项目组,当时只有8个人,包括经常不在的架构师和经理。当时的工位在西区1栋A座,办公桌很宽敞。随着项目的发展,入职的人越来越多,项目的工位也是几经搬迁。基本上每次搬迁时,我的工位都是挑剩下的…...
![](https://img-blog.csdnimg.cn/a005782838df46fbb558876269d43e78.png#pic_center)
三种查找Windows10环境变量的方法
文章目录一.在设置中查看二. 在我的电脑中查看三. 在资源管理器里查看一.在设置中查看 在系统中搜索设置 打开设置,在设置功能里,点击第一项 系统 在系统功能里,左侧菜单找到关于 在关于的相关设置里可以看到高级系统设置 点击高级系…...
![](https://img-blog.csdnimg.cn/img_convert/fa65d350ae0201a1f3f9aebc354a7f61.jpeg)
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…...
![](https://img-blog.csdnimg.cn/28a9e2c97d164aad9e65aabfd24504a7.jpeg)
java日志查看工具finder介绍
目录 一、finder介绍 二、单节点部署 1、服务器需要安装Tomcat,以2.82.16.35为例 2、进入Tomcat下目录webapps下,创建FIND目录,进入FIDN目录 3、下载findweb插件,解压缩 4、登录页面,配置 5、添加日志路径 三、…...
![](https://www.ngui.cc/images/no-images.jpg)
手写现代前端框架diff算法-前端面试进阶
前言 在前端工程上,日益复杂的今天,性能优化已经成为必不可少的环境。前端需要从每一个细节的问题去优化。那么如何更优,当然与他的如何怎么实现的有关。比如key为什么不能使用index呢?为什么不使用随机数呢?答案当然…...
![](https://img-blog.csdnimg.cn/img_convert/9388e3ad70af9aa509907d63e2fb7209.png)
【半监督医学图像分割 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…...
![](https://img-blog.csdnimg.cn/img_convert/4626e957dbdc9b2d0bdc4c7d3aab4f35.png)
vivo官网App模块化开发方案-ModularDevTool
作者:vivo 互联网客户端团队- Wang Zhenyu 本文主要讲述了Android客户端模块化开发的痛点及解决方案,详细讲解了方案的实现思路和具体实现方法。 说明:本工具基于vivo互联网客户端团队内部开源的编译管理工具开发。 一、背景 现在客户端的业…...
![](https://www.ngui.cc/images/no-images.jpg)
Python基础-数据类型之数字类型
变量中的变量值是用来存储事物状态的,事物的状态分成不同的种类(例如:人的姓名、年龄,身高、职位、工资等),因此变量值有多种不同的数据类型。 age 18 # 用整型记录年龄 salary 3.1 # 用浮点型记录…...
![](https://img-blog.csdnimg.cn/img_convert/71ec33064dc048b2a125d1c1cab5a794.jpeg)
基于Web的6个完美3D图形WebGL库
现代前端、游戏和Web开发正是WebGL可以转化为数字杰作的东西。使用GPU绘制在浏览器屏幕上生成的矢量元素,WebGL创建交互式Web图形,从而获得用户体验。视觉元素的质量和复杂性使该工具在HTML或CSS等其他方法中脱颖而出。WebGL基础WebGL不是一个图形套件。…...
![](https://img-blog.csdnimg.cn/img_convert/d5cf7391ce1348d99597d01350d52e35.png)
界面组件DevExpress Reporting v22.2 - 增强的Web报表组件UI
DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。DevExpress Reporting v22.2版本已正式发布&…...
![](https://img-blog.csdnimg.cn/7df6af5afe704027afea582338653274.png)
初学vector
目录 string的收尾 拷贝构造的现代写法: 浅拷贝: 拷贝构造的现代写法: swap函数: 内置类型有拷贝构造和赋值重载吗? 完善拷贝构造的现代写法: 赋值重载的现代写法: 更精简的现代写法&…...
![](https://www.ngui.cc/images/no-images.jpg)
Windows10 安装wsl2、Ubuntu相关操作
Windows10 安装wsl2、Ubuntu相关操作 安装wsl2 查看本机windows版本: 键盘上按下winr,输入winver,查看系统版本。必须运行 windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 windows 11。满足版本要求后…...
![](https://www.ngui.cc/images/no-images.jpg)
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…...
![](https://img-blog.csdnimg.cn/445d371ac6f94a66890b0ffa47b72cb0.png)
Oracle Data Guard 角色转换(Role Transitions)
查询视图V$DATABASE的DATABASE_ROLE列可以看到数据库当前的角色。 1.角色转换介绍 Oracle Data Guard让你可以使用SQL语句或者通过Oracle Data Guard broker界面来动态更改数据库的角色,Oracle Data Guard支持以下的角色转换: 1࿰…...
![](https://img-blog.csdnimg.cn/72ef7cc0c20643b597379905dd4c94db.gif)
opencv的TrackBar控件
大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...
![](https://img-blog.csdnimg.cn/eb9f65ef63214c50b451747430be4163.png)
关于基线长度对双天线GNSS测姿精度的影响
文章目录一、GNSS测姿原理1. 载波相位双差求解基线向量2. GNSS姿态角表示二、基线长度对GNSS测姿精度的影响三、GNSS定向产品精度描述实例四、参考文献在GNSS定向模块或者板卡的指标参数中,我们一般会看到航向的测量精度和基线的长度相关。在实际使用,用…...
![](https://www.ngui.cc/images/no-images.jpg)
口交换机睿易 RG-NBS1826GC 24 口
接口形态不将就,标配光纤接口传输性能不将就,标配千兆上联口和大缓存设计端口数量不将就,8/16/24 三种选择楼宇对讲交换机不将就,保证开锁指令品质服务不将就,监控专用交换机接口形态不将就,标配光纤接口非…...
![](https://img-blog.csdnimg.cn/9cea5e8bc36c4efeaa36e09b6739ab6f.png)
如何在Excel中向下拉列表中添加条件
在Excel中向下拉列表中添加条件 创建矩阵型数据集创建下拉列表创建第一个下拉列表创建第二个下拉列表你可以使用Microsoft Excel下拉列表来显示一个简单的列表,尽管有时需要更多的控制。假设你的人员分散在四个地区:北部、南部、东部和西部。你希望按地区与人员合作,而不是与…...
![](https://img-blog.csdnimg.cn/22fa979da18648d485638fb0e030232b.png)
自定义bean 加载到spring IOC容器中
自定义bean加载到spring容器中的两种方式: 1.在类上添加注解Controller、RestController(本质是Controller)、Service、Repository、Component2.使用Configuration和Bean 这篇文章主要介绍第二种方式原理(因为在实际使用中&#…...
![](https://www.ngui.cc/images/no-images.jpg)
[python入门㊻] - python装饰器和类的装饰器
目录 ❤ python装饰器介绍 ❤ 什么是装饰器 ❤ 装饰器的流程 ❤ 定义装饰器时通常会涉及以下3个函数 无参装饰器 有参装饰器 多重装饰器 ❤ 装饰器的用法(闭包) ❤ 装饰器语法糖 ❤ 时间计时器 ❤ 装饰器中wraps作用 不使用wraps装饰器 使用wraps装饰器解…...
![](https://img-blog.csdnimg.cn/9bd33c2a700a4e16b471f301c78d5751.png)
企业级信息系统开发学习1.1 初识Spring——采用Spring配置文件管理Bean
文章目录一、Spring容器演示——采用Spring配置文件管理Bean(一)创建Maven项目(二)添加Spring依赖(三)创建杀龙任务类(四)创建勇敢骑士类(五)采用传统方式让勇…...
![](https://img-blog.csdnimg.cn/8e719c70f13c4bf79f03a345dd01a5e6.png#pic_center)
CSS盒子模型
盒子模型 CSS三大特性 继承性、层叠性、优先级 优先级比较 继承 < 通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important 注意:!important不能提升继承的优先级,只要是继承优先级最低 复合选择器权重叠加计…...
![](https://img-blog.csdnimg.cn/53611e8afe094dedbb39f0dc9afb3852.png)
Python基础学习笔记 —— 数据结构与算法
数据结构与算法1 数据结构基础1.1 数组1.2 链表1.3 队列1.4 栈1.5 二叉树2 排序算法2.1 冒泡排序2.2 快速排序2.3 (简单)选择排序2.4 堆排序2.5 (直接)插入排序3 查找3.1 二分查找1 数据结构基础 本章所需相关基础知识:…...
![](https://img-blog.csdnimg.cn/047552f4d1494cdda048bef0b6b99e05.png)
笔记本连接wifi,浏览器访问页面,显示访问被拒绝
打开chrome、edge浏览器访问第1个第2个页面正常,后面再打开页面显示异常。 但手机连接正常,笔记本连接异常,起初完全没有怀疑是wifi问题 以为用了vpn软件问题,认为中了病毒。杀毒,并没有中毒。 1、关闭vpn代理&#…...
![](https://www.ngui.cc/images/no-images.jpg)
36个物联网专业毕业论文选题推荐
物联网技术在智能家居系统中的应用研究物联网在智慧城市建设中的作用物联网在工业4.0中的实现与发展 物联网与智能物流系统的结合物联网与医疗健康领域的融合研究物联网与环境监测系统的集成物联网与农业生产的结合研究物联网技术对汽车行业的影响与发展物联网在智能安防领域的…...
![](https://img-blog.csdnimg.cn/8bd820f6e43e4ecd9d32600fc64371f1.png)
Pytorch复习笔记--torch.nn.functional.interpolate()和cv2.resize()的使用与比较
1--前言 博主在处理图片尺度问题时,习惯使用 cv2.resize() 函数;但当图片数据需用显卡加速运算时,数据需要在 GPU 和 CPU 之间不断迁移,导致程序运行效率降低; Pytorch 提供了一个类似于 cv2.resize() 的采样函数&…...
![](/images/no-images.jpg)
查网站的建站系统/怎么做神马搜索排名seo
原标题:作为一名Java开发工程师需要掌握的专业技能在学习Java编程完之后,学员们面临的就是就业问题。作为一名Java开发工程师,企业在招聘的时候,也是有一定的标准的。为了帮助大家更好的找到适合自己的工作,上海尚观科…...
![](https://www.oschina.net/img/hot3.png)
富平做网站/推广什么app佣金高
2019独角兽企业重金招聘Python工程师标准>>> 死循环的时候 ctrlc 暂停程序 thread apply all bt 查看多线程堆栈 如果线程多需要多敲几下回车 输入c 继续运行程序 thread apply all bt 查看多线程堆栈 对比前后两次堆栈内容 有变化的线程可能是死循环的线程 转载于:…...
![](https://images2015.cnblogs.com/blog/827512/201511/827512-20151125154541874-1354543769.jpg)
怎么建设网站赚钱手机/怎么百度推广
新建信息布局:自动出来的是系统的组件,里面是listview,写ontextchanglis也行<LinearLayout xmlns:android"http://schemas.android.com/apk/res/android" android:layout_width"match_parent" android:layout_height&…...
![](/images/no-images.jpg)
新会住房建设局网站/举例网络营销的例子
零散知识 主存与cache地址映像有 直接映像、全相连映像、组相连映像 三种方式DMA的三种工作方式为 CPU暂停工作方式、CPU周期窃取工作方式、直接访问存储器工作方式奇偶校验码 是一种开销最小,能发现数据代码中的一位出错情况的编码三层次存储系统包括:…...
![](https://img-blog.csdnimg.cn/img_convert/19af76b01fcaf3da54dd4e2d2702d577.png)
做室内设计的网站/ueeshop建站费用
五、网站模板替换教程为了接下来的截图更好看,小编已经给网站增加了若干几个栏目,并添加若干内容。因为默认模板的首页有首页头条、首页幻灯片等推荐位,所以小编推荐几篇内容并更新缓存生成首页之后,网站的截图如下:系…...
![](/images/no-images.jpg)
双公示网站专栏建设/武汉百度推广公司
Java语言提供了很多修饰符,主要分为以下两类:访问修饰符非访问修饰符修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明: public class className { // ...}private boolean myFlag;static final…...