Jenkins构建自由风格项目发布jar到服务器

news2024/11/27 0:44:35

前面的文章有介绍 docker安装jenkins 和 docker+jenkins发布spring项目;这里就不做过多的介绍,直接说明构建步骤。

1、选择构建一个自由风格的项目 

2、 选择丢弃旧的构建

 3、配置Git信息

4、构建触发器 和 构建环境可以直接跳过

5、直接来到Build Steps这步骤,先新增一个调用顶层Maven目标配置编译项目(如果项目属于微服务架构,可添加多个调用顶层Maven目标步骤,先编译基础依赖包→在编译发布的项目)

6、在Build Steps这步骤,再添加一个 执行Shell

7、查看构建效果

 附件脚本:

#!/bin/bash
echo "开始构建===============================>"
JenkinsHost=192.168.254.129
JenkinsPort=22
PROJECT_NAME='springboot-test'

ssh -p $JenkinsPort root@$JenkinsHost nohup pkill -15 -f $PROJECT_NAME.jar &
sleep 10s

echo "COPY JAR TO SERVER START===============================>"
ssh -p $JenkinsPort root@$JenkinsHost mkdir -p /work/project/$PROJECT_NAME
#scp -r /var/jenkins_home/workspace/fat2-springboot-test/target/$PROJECT_NAME.jar root@$JenkinsHost:/work/project/$PROJECT_NAME/
ssh -p $JenkinsPort root@$JenkinsHost /bin/cp -rf /work/docker/data/jenkins/workspace/fat2-springboot-test/target/$PROJECT_NAME.jar /work/project/$PROJECT_NAME/
echo "COPY JAR TO SERVER END===============================>"
echo "CHMOD START===============================>"
ssh -p $JenkinsPort root@$JenkinsHost chmod 755 /work/project/$PROJECT_NAME/$PROJECT_NAME.jar
echo "CHMOD START===============================>"

echo "SET LOGS START===============================>"
ssh -p $JenkinsPort root@$JenkinsHost mkdir -p /work/project/logs/$PROJECT_NAME
ssh -p $JenkinsPort root@$JenkinsHost touch  /work/project/logs/$PROJECT_NAME/$PROJECT_NAME.log
ssh -p $JenkinsPort root@$JenkinsHost chmod 777 /work/project/logs/$PROJECT_NAME/$PROJECT_NAME.log
echo "SET LOGS START===============================>"

echo "RUN JAR START===============================>"
ssh -p $JenkinsPort root@$JenkinsHost  << EOF
	nohup java -Xms256m -Xmx256m -Xmn256m -jar /work/project/$PROJECT_NAME/$PROJECT_NAME.jar > /work/project/logs/$PROJECT_NAME/$PROJECT_NAME.log 2>&1 &
EOF
echo "RUN JAR END===============================>"


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

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

相关文章

技术广度必备——高并发设计之分布式锁的实现方式

文章目录 问题背景前言实现基于MySQL实现唯一索引乐观锁悲观锁 基于Redis基于Zookeeper原理使用Curator框架实现ZK分布式锁缺点 问题背景 研究有哪几种方案可以实现分布式锁&#xff0c;技术选型的场景下能用到。 前言 本文参考过的文章有分布式锁的几种实现方式方式大致分为3种…

蓝帽杯 取证2022

网站取证 网站取证_1 下载附件 并解压 得到了一个文件以及一个压缩包 解压压缩包 用火绒查病毒 发现后门 打开文件路径之后 发现了一句话木马 解出flag 网站取证_2 让找数据库链接的明文密码 打开www文件找找 查看数据库配置文件/application/database.php&#xff08;CodeI…

Cuda和cuDNN安装

Cuda和cuDNN安装 1Cuda下载与安装1.1查看适合cuda的版本1.2下载cuda toolkit1.3cuda安装步骤1.4配置环境变量1.5验证 2cuDNN下载与安装2.1cuDNN下载2.2cuDNN配置2.3配置环境变量2.4验证 3安装PyTorch-GPU3.1打开Anaconda Prompt![在这里插入图片描述](https://img-blog.csdnimg…

ARM--day2(cpsr、spsr、数据搬移指令、移位操作指令、位运算操作指令、算数运算指令、比较指令、跳转指令)

.text .global _gcd _gcd:mov r0,#9mov r1,#15b loop loop:cmp r0,r1beq stopsubhi r0,r1bhi loopsubcc r1,r0bcc loopstop:b stop.end用for循环实现1~100之间和5050 .text .global _gcd _gcd:mov r0,#0x0mov r1,#0x1mov r2,#0x64b loop loop:cmp r1,r2bhi stopadd r0,r0,r1ad…

卷王特斯拉又全网降价了,卷死车企们

哈喽,大家好,今天媒介盒子小编又来跟大家分享软文推广的干货知识了,本篇分享的主要内容是&#xff1a;特斯无孔不入的营销手段。 1、特斯拉Model Y降价 车企要打架 自2023 年 8 月 14 日起&#xff0c;Model Y 长续航版起售价从 31.39 万元调整为 29.99 万元&#xff0c;Mode…

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …

走进 Linux

一、开关机 开机&#xff1a; 开机会启动许多程序。他们在windows叫做“服务”(service),在Linux就叫做“守护进程”&#xff08;daemon&#xff09;开机成功后&#xff0c;它会显示一个文本登录界面&#xff0c; 这个界面就是我们经常看到的登录界面&#xff0c;在这个登录界…

【有奖体验】COS插件体验,四重好礼等你拿!

对象存储 COS 为降低用户接入门槛&#xff0c;集成了多款 COS 插件&#xff0c;开放供用户使用&#xff0c;包含搭建网站、图床、论坛等多个热门业务场景的插件&#xff0c;让使用更便捷&#xff01;对象存储 COS 准备了多重好礼&#xff0c;欢迎广大同学们踊跃体验 COS 插件&a…

U盘安装CentOS7系统出现dracut timeout的解决办法

文章目录 业务场景操作步骤U盘装CentOS7系统确定U盘盘符修改启动命令系统配置 总结 业务场景 我们在某市实施交通信控平台项目&#xff0c;我们申请了一台服务器&#xff0c;用于平台安装由于机房机器只有内网&#xff0c;不连互联网&#xff0c;我们无法安装所需要的软件&…

FreeRTOS(任务通知)

资料来源于硬件家园&#xff1a;资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、任务通知的概念 1、概念 2、发送通知给任务的方式 3、任务通知使用限制 二、任务通知的运行机制 三、任务通知的API函数 1、任务通知的数据结构 2、常用的API函数 3、函数x…

Java多线程编程中的线程死锁

Java多线程编程中的线程死锁 ​ 在多线程编程中&#xff0c;线程死锁是一种常见的问题&#xff0c;它发生在两个或多个线程互相等待对方释放资源的情况下&#xff0c;导致程序无法继续执行。本文将介绍线程死锁的概念、产生原因、示例以及如何预防和解决线程死锁问题。 线程死…

LeNet中文翻译

Gradient-Based Learning Applied to Document Recognition 基于梯度的学习应用于文档识别 摘要 使用反向传播算法训练的多层神经网络构成了成功的基于梯度的学习技术的最佳示例。给定适当的网络架构&#xff0c;基于梯度的学习算法可用于合成复杂的决策表面&#xff0c;该决策…

【C语言实战项目】通讯录

一.了解项目功能 在本次实战项目中我们的目标是实现一个通讯录: 该通讯录可以用来存储1000个人的信息 每个人的信息包括&#xff1a;姓名、年龄、性别、住址、电话 通讯录提供功能有&#xff1a; 添加联系人信息删除指定联系人信息查找指定联系人信息修改指定联系人信息显示所有…

miniExcel 生成excel

一、nuget dotnet add package MiniExcel --version 1.31.2 二、新建表及数据 ExampleProducts 三、这里我用了Dapper.Query方法 读取excel public virtual async Task<IActionResult> Anonymous(){try{//using (var connection _dbContext.GetDbConnection())//{//…

请教电路高手帮忙Review一下是否可行?

想要实现STM32 3.3V GPIO 控制5V电源通断&#xff0c;默认状态为&#xff1a;接通。 使用如下电路图有无问题&#xff1f;参数是否需要调整&#xff1f;

机器学习笔记之优化算法(十二)梯度下降法:凸函数VS强凸函数

机器学习笔记之优化算法——梯度下降法&#xff1a;凸函数VS强凸函数 引言凸函数&#xff1a;凸函数的定义与判定条件凸函数的一阶条件凸函数的梯度单调性凸函数的二阶条件 强凸函数强凸函数的定义强凸函数的判定条件强凸函数的一阶条件强凸函数的梯度单调性强突函数的二阶条件…

为博客获取阿里云免费HTTPS证书:简易指南

文章目录 前置条件&#xff1a;步骤1 例如阿里云控制台&#xff0c;选择SSL证书步骤2 申请购买免费证书步骤3 创建证书步骤3.1 证书申请步骤3.2 DNS域名验证 步骤4 等待证书审核成功&#xff0c;下载证书总结 本文分享&#xff0c;如何在阿里云申请免费HTTPS证书 前置条件&…

基于Spring Boot的高校在线考试系统的设计与实现(Java+spring boot+VUE+MySQL)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于Spring Boot的高校在线考试系统的设计与实现&#xff08;Javaspring bootVUEMySQL&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;Java s…

Netty:channel的事件顺序

服务端&#xff1a;正常启动的channel事件顺序 REGISTERED -> BIND -> ACTIVE 客户端&#xff1a;正常启动的channel事件顺序 REGISTERED -> CONNECT -> ACTIVE 服务端&#xff1a;接收到客户端连接&#xff0c;为客户端分配的channel的事件顺序 REGISTERED…

分布式唯一ID实战

目录 一、UUID二、数据库方式1、数据库生成之简单方式2、数据库生成 - 多台机器和设置步长&#xff0c;解决性能问题3、Leaf-segment 方案实现4、双 buffer 优化5、Leaf高可用容灾 三、基于Redis实现分布式ID四、雪花算法 一、UUID UUID的标准形式包含32个16进制数字&#xff…