Jenkins自动构建JAVA(完) (复制粘贴系列)

Windows下使用Jenkins进行自动打包详细教程 Jenkins 部署Windows服务完成自动打包 Jenkins 部署Windows服务完成自动打包 文章目录Jenkins 部署Windows服务完成自动打包Jenkins 部署Windows服务完成自动打包安装Jenkins确认安装环境安装Jenkins安装Jenkins的插件插件下载提速Jenkins汉化Git和Gitlab插件安装配置GitlabJenkins创建项目创建项目配置项目名称和项目类型选择Gitlab的连接在源码管理中选择Git,配置本次打包从哪个分支上拉取代码进行打包配置Gitlab 阅读详情

久等啦,Jenkins 部署 JAVA 完结篇,包含备份,备份回滚,不同环境部署,远程传输等功能,后面可添加邮件通知功能哦,不过最近比较忙,暂时没法进行加更了,感谢您的支持

继(二) 开始创建构建任务

相关的脚本

MAVEN 构建

clean package -Dmaven.test.skip=true -Dmaven.repo.local=/var/jenkins_home/.m2/repository/

jar备份

#!/bin/bash
# 备份脚本
FileDir=jenkins-springboot-demo
echo "Status:$ENV"
echo "Version:$Version"
case $ENV  in
  测试)
    #创建每次要备份的目录
    path="${WORKSPACE}/bak/${FileDir}/${BUILD_NUMBER}"      
    if [ -d $path ];
    then
        echo "The files is already  exists "
    else
        mkdir -p  $path
    fi
    #将打包好的jar包备份到相应目录,覆盖已存在的目标
    \cp -rf ${WORKSPACE}/${FileDir}/target/* $path/        
    echo "Completing!"
    ;;
  回滚测试)
      cd ${WORKSPACE}/bak/${FileDir}/$Version
      \mv -f *.jar ${WORKSPACE}/${FileDir}/target/
      ;;
  *)
  exit
      ;;
esac

备份删除

#!/bin/bash
# 备份删除脚本
FileDir=${WORKSPACE}/bak/jenkins-springboot-demo
date=$(date "+%Y%m%d-%H%M%S")

#进入备份目录
cd $FileDir
#当前有几个文件夹,即几个备份
FileNum=$(ls -l | grep '^d' | wc -l)   

while [ $FileNum -gt 5 ]
	do
      echo "进入删除"
      #获取最旧的那个备份文件夹
      OldFile=$(ls -rt | head -1)     
      echo  $date "Delete File:"$OldFile
      rm -rf $FileDir/$OldFile
      let FileNum--
	done 

jenkins_springboot.sh 参考脚本

#!/bin/sh
set -x
#定义jar包和PID进程变量值
JAR=jenkins-springboot-demo-0.0.1-SNAPSHOT.jar
PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')

start() {
    PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')
    if [ -z "$PID" ]; then
    nohup java -jar /home/www/jar/${JAR} --spring.profiles.active=default > /dev/null 2>&1 &
sleep 2
    PID=$(ps -ef | grep ${JAR} | grep -v grep | awk '{ print $2 }')
    [ -n "$PID" ] && echo "启动成功,PID is $PID" || echo "启动失败"
else
    echo "进程正在运行,PID is $PID"
fi
}

stop() {
    if [ -z "$PID" ]; then
    echo "进程已停止"
else
    kill  -9 $PID
    echo "进程已停止"
fi 
}

status() {
    if [ -z "$PID" ]; then
    echo "进程已停止"
else
    echo "进程正在运行,PID is $PID"
fi 
}

deploy() {
    #杀掉现有进程
    if [ -n "$PID" ];then
    kill -9 $PID
fi

#移动备份上个版本
mkdir -p /home/backups/jar
mkdir -p /home/www/jar/
test -f /home/www/jar/${JAR} && mv -f /home/www/jar/${JAR} /home/backups/jar/${JAR}-$(date "+%Y%m%d-%H%M%S")

#移动/tmp下上传的新版本jar包到/home/www下
mv /tmp/${JAR}  /home/www/jar/

#在后台启动新jar包
$(nohup java -jar /home/www/jar/${JAR} --spring.profiles.active=default > /dev/null 2>&1 &)
}

case "$1" in
    start)
    start
    ;;

    stop)
    stop
    ;;

    restart)
    stop
    sleep 2
    start
    ;;

    status)
    status
    ;;
    
    deploy)
    deploy
    ;;

    *)
echo "Usage: sh console_jar.sh {start|stop|restart|status|deploy}"
exit 3
;;
esac

执行构建

 

通过Jenkins实现Java项目的构建和自动部署 我是Jenkins单独部署了一台服务器, 项目本身呢也是单独部署一台服务器, 也就是两台服务器, 这里呢举例A机器部署Jenkins,B机器部署你的项目,A机器需要JDK和MAVEN和GIT, JDK和maven都是构建项目要用的,而GIT呢是为了从你的远程仓库(Gitlab/Bitbucket等等)拉取代码, 对应B服务器你的项目部署需要什么资源你就需要安装什么, 比如最基本的jdk, 因为肯定是要启动项目的。前置脚本为了杀死原先的java进程 清理原先的旧文件。选择你项目需要的就行了我的是3.6.1。 阅读详情

相关推荐

说说PSTN、ISDN、 ADSL三种互联网接入方式的区别。

互联网的接入方式: 电话拨号接入(PSTN) ISDN接入 ADSL接入 Cable MODEM接入 局域网接入 光纤接入(FDDI) 卫星接入 DDN专线 目前来说,ADSL和Cable MODEM比较常用,今天我们就先来说说PSTN、ISDN和ADSL的区别。 电话拨号接入(PSTN/POTS,Public Switched Telephone Network / Public Oold Telephone Service) 数据终端设备(DTE)通过数据通信设备(DCE)再连

Winyaz的博客 2万+

Jenkins用法小记-复制任务配置

用jenkins时会遇到复制任务的需求,将任务配置迁移到另一个部署了jenkins的机器上,这里记录下用到的方法 目录 方法1直接从机器上复制 方法2用rest api请求获取 复制jenkins配置到目录并加载 总结和备注 方法1直接从机器上复制 首先找到jenkins的安装路径,通常情况下默认的安装路径如下: 系统 jenkins配置的路径 描述 win %USERPROFILE%\.jenkins\ 路径示例: C:\Users\DELL

八百里外一枪的博客 3989

别再让电池充不满!用CN3791芯片设计太阳能充电电路,这几个调试坑我帮你踩了

本文详细解析了使用CN3791芯片设计太阳能充电电路时的常见调试问题及解决方案。从RCS电阻的选择到MPPT电压偏差的修正,再到线路损耗和温度补偿的优化,提供了全面的避坑指南。通过实测数据和优化方案,帮助工程师提升锂电池充电效率,确保太阳能充电电路的稳定性和可靠性。

weixin_42528191的博客 238

【Jenkins相关基础学习】

Jenkins相关基础学习,包括安装maven服务、复制项目、清空工作空间、查看job配置文件等

weixin_42781971的博客 2497

从零到一:树莓派上的YOLO目标检测实战指南

本文详细介绍了如何在树莓派上部署和优化YOLO目标检测模型,从硬件选型到系统配置,再到模型转换与推理优化。通过对比不同树莓派型号的性能差异,提供实用的配置方案和代码示例,帮助开发者快速实现高效的边缘计算视觉系统。特别推荐使用ONNX格式进行模型转换,以提升在树莓派上的推理效率。

weixin_29046035的博客 1063

【Unity人物动画】SALSA With RandomEyes (语音生成嘴型/人物说话) 使用

SALSA使用探索 之前做项目时想做人物说话的嘴部动作,因为我们的语音是AI合成的,语音片段很多,如果能根据语音生成嘴部动画,那将极大便利我们的工作。后面是找到了SALSA的这款插件,并摸索出使用方法。 1 插件介绍 官方网站:https://crazyminnowstudio.com/ 一个能做2D纸片人和3D人物模型嘴部和眼睛动画的插件,由两人组成的独立工作室(疯狂米诺工作室)开发。 插件全名为SALSA With RandomEyes,2014年上架Asset Store,目前是已下架,替换为新版本

里约热内驴的博客 1万+

通过网站链接来拷贝 jenkins的任务

你的Jenkins地址/createItem?name=新任务名&mode=copy&from=旧任务名。根据现有的任务,然后需要拷贝出一个副本,可以直接在网页中输入下面的链接。把“你的Jenkins地址”替换为 jenkins 的地址。“新任务名”替换为要起的新名称(后续可改)“旧任务名”替换为原任务的名称。

yuliu_的博客 263

在RV1126上实现人脸识别----MobileFaceNet转成rknn模型

目录 1.模型下载 2 转成rknn模型并推理 3 查看网络模型 1.模型下载 首先下载MobileFaceNet的模型,github下载地址为:https://github.com/sirius-ai/MobileFaceNet_TF/tree/master/arch/pretrained_model/ 2 转成rknn模型并推理 import numpy as np import cv2 from rknn.api import RKNN if __name__ == '__..

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3525

jenkins批量复制视图项目到新的视图

【代码】jenkins批量复制视图项目到新的视图。

方圆师兄 844

FPGA实现DDR接口

verilog// DDR2控制器状态机// 初始化序列// 发出初始化命令endendendend// 自动预充电end// 其他状态...endcaseendend。

whm128的博客 998

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 363

Jenkins复制和导出导入job

文章目录Jenkins复制和导出导入job方法一:同一个Jenkins中复制job方法二:直接复制jobs或指定的job目录方法三:用`Jenkins-CLI`来导出和导入 Jenkins复制和导出导入job 方法一:同一个Jenkins中复制job 如果是同一个Jenkins复制job,只需要在创建Job时,选择Copy from一个已有的job即可。 方法二:直接复制jobs或指定的job目录...

锐意工作室 2万+

Vue3 - Element Plus 下拉选择器 el-select 覆盖修改 placeholder样式,解决覆盖不生效问题(支持修改文字颜色、文字大小、选择器边框、hover效果、宽高等任意样式

vue3,element-plus,el-select,下拉选择器,下拉选择框,Select选择器,deep覆盖无效怎么办,怎么修改placeholder文字颜色,选择器select修改边框样式,修改文字大小,elementPlus选择器如何覆盖hover效果,使用deep改不了样式,修改边框颜色,select去掉边框,vue3+elementPlus中select选择器如何修改placeholder文字样式,修改el-select样式,select选择器样式覆盖不了咋办,el-select如何覆盖原样式,

🏆 前端领域优质创作者 1万+

java date加一天_Jenkins自动构建JAVA(完) (复制粘贴系列)

久等啦,Jenkins 部署 JAVA 完结篇,包含备份,备份回滚,不同环境部署,远程传输等功能,后面可添加邮件通知功能哦,不过最近比较忙,暂时没法进行加更了,感谢您的支持Jenkins自动构建JAVA(一):https://blog.youkuaiyun.com/itjavaee/article/details/108382582Jenkins自动构建JAVA(二):https://blog.csdn.ne...

weixin_39624700的博客 112

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Jenkins自动构建JAVA(-) (复制粘贴系列)

错过这篇文章,去哪还能找到如此简单易懂的jenkins自动构建springboot?解放双手,纯小白复制粘贴系列。让你快速上手搞定自动化运维

itjavaee的博客 679

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Jenkins自动构建JAVA(二) (复制粘贴系列)

提前准备 搭建jenkins:https://blog.youkuaiyun.com/itjavaee/article/details/108382582 码云代码存储|GitHub,jenkins采用远程代码拉取进行构建 1.插件未安装完成情况下,处理方案 1.点击插件发现有未安装的错误显示 2.打开jenkins的插件更新页面:http://192.168.0.30:8888/updateCenter/ 查看哪些是失败的 3.打开jenkins的插件管理页面:http://192.168.0.3.

itjavaee的博客 583

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java 自动下载自动搜索_Jenkins自动构建JAVA(二) (复制粘贴系列)

提前准备Jenkins自动构建JAVA(一) (复制粘贴系列):https://blog.youkuaiyun.com/itjavaee/article/details/108382582码云代码:https://gitee.com/ 主要是用作jenkins拉取代码,可参考:https://gitee.com/nine_seven_server/jenkins_springboot_demo.git一台已搭...

weixin_39684052的博客 104

Jenkins 自动化构建 快速上手

阅前提示 该文章以实际操作的方式来快速使用Jenkins 适合人群:Jenkins初见者 阅读方式:步骤阅读 文章目录阅前提示正文Jenkins是什么下载安装使用 正文 Jenkins是什么 引用Jenkins官网的描述 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个...

vin129的博客 1114

Jenkins自动化部署实例讲解,另附Jenkins安装教程!

你平常在做自己的项目时,是否有过部署项目太麻烦的想法?如果你是单体项目,可能没什么感触,但如果你是微服务项目,相信你应该是有过这种感触的。这种情况下,我一般会劝你了解一下Jenkins这个玩意。怎么了解呢?我会建议你阅读本文🤡。你可以根据自己的意愿,选择性的跳过第一部分,因为第二部分才是重点。(通过目录可以快速翻到第二部分)

2401_85696278的博客 2013

jenkins自动发布java代码

一、git私有仓库创建 可参考GIT笔记中远程仓库搭建部分,此处java源码使用zrlog,将源码pull到github上,将jenkins公钥配置到github上,即可下一波。 二、web服务器tomcat配置 在需要将代码发布的web服务器上需要配置tomcat的manager页面。 yum install java-1.8.0-openjdk.x86_64 -y && wg...

weixin_44195108的博客 1639

Jenkins自动化部署实例讲解,另附Jenkins安装教程(建议收藏)

你平常在做自己的项目时,是否有过部署项目太麻烦的想法?如果你是单体项目,可能没什么感触,但如果你是微服务项目,相信你应该是有过这种感触的。这种情况下,我一般会劝你了解一下Jenkins这个玩意。怎么了解呢?我会建议你阅读本文🤡。第一部分为Jenkins安装教程,会教你如何在Linux上安装Jenkins。第二部分为一个简单的Jenkins自动化构建部署实例讲解。你可以根据自己的意愿,选择性的跳过第一部分,因为第二部分才是重点。(通过目录可以快速翻到第二部分)

nhb687096的博客 1237

Jenkins 自动化部署实例讲解,另附安装教程!

你平常在做自己的项目时,是否有过部署项目太麻烦的想法?如果你是单体项目,可能没什么感触,但如果你是微服务项目,相信你应该是有过这种感触的。这种情况下,我一般会劝你了解一下 Jenkins 这个玩意。怎么了解呢?我会建议你阅读本文 🤡。本文分为两部分:第一部分为 Jenkins 安装教程,会教你如何在 Linux 上安装 Jenkins。第二部分为一个简单的 Jenkins 自动化构建部署实例讲解。你可以根据自己的意愿,选择性的跳过第一部分,因为第二部分才是重点。(通过目录可以快速翻到第二部分)

qq_33525062的博客 1001
上一篇: IDEAJ这些插件你都用过吗?
下一篇: 字符串解析省市区
97牛肉面
博客等级 码龄9年 54粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值