运维学习————Jenkins部署Jar包

2024-09-06 23:44
文章标签 部署 学习 运维 jenkins jar

本文主要是介绍运维学习————Jenkins部署Jar包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

使用Jenkins部署Jar包

1、在Jenkins构建Jar包

2、把项目部署到jenkins本地

3、部署到远程服务器上(不是Jenkins所在的服务器)

4、其他jenkins部署方式(使用插件publish over ssh)

1、安装插件

2、配置system

3、jenkins配置


使用Jenkins部署Jar包

1、在Jenkins构建Jar包

丢弃旧的构建 保存构建天数=3 保持构建的最大个数=10

构建无数次,只保留最近10次,并且保存3天,节省磁盘空间!

这里先构建一下

2、把项目部署到jenkins本地

让当前包,在jenkins上运行:

add pre-build step 和add post-build step 区别?

add pre-build step 在项目构建之前执行什么 (执行脚本等操作)

add post-build step 在项目构建之后执行什么 (执行脚本等操作)

 

java -jar /root/.jenkins/workspace/shared_battery/target/shared_battery-0.0.1-SNAPSHOT.jar 

再次构建运行,测试:可以正常访问

3、部署到远程服务器上(不是Jenkins所在的服务器)

重新修改脚本

ssh-keygen     回车3次
ssh-copy-id  192.168.37.128 远程服务器ip    回车 输入正确的密码

远程服务器准备工作

#创建工作目录
mkdir -p /usr/workspace/sb#编写脚本,运行jar用的
vim /usr/workspace/app-start.sh#!/bin/bash
#打印提示
echo "Stop  app.jar  Process : app.jar"
#获取指定项目app.jar的运行pid
pid=`ps -ef |grep java|grep app.jar | grep -v grep |awk '{print $2}'`
echo "old app.jar  pid:$pid"#pid存在则kill   -n 判断pid是否为null
if [ -n "$pid" ]
then
kill -9 $pid
fi
#打印提示 
echo 'Start the program : app.jar'
#给项目jar  777权限#进入项目所在目录,在jenkins服务器上配置的工作目录
cd /usr/workspace/sb
#修改权限
chmod 777 /usr/workspace/sb/app.jar
#打印提示
echo '-------Starting-------'
#运行项目 (指定时区  指定字符编码  指定输出日志)
source /etc/profile && java -jar app.jar >app.log 2>&1 &
#/usr/java/jdk1.8.0_15/bin/java -jar app.jar >app.log 2>&1 &
echo 'jar启动完成'#给脚本添加可执行权限
chmod   +x   /usr/workspace/app-start.sh

运行,测试,没一点问题

4、其他jenkins部署方式(使用插件publish over ssh)

1、安装插件

2、配置system

3、jenkins配置

#!/bin/bash
#打印提示
echo "Stop  app.jar  Process : app.jar"
#获取指定项目app.jar的运行pid
pid=`ps -ef |grep java|grep shared_battery-0.0.1-SNAPSHOT.jar | grep -v grep |awk '{print $2}'`
echo "old app.jar  pid:$pid"
#删除原来jar
#rm -rf /root/data1/springboot_restful_demo_20230717-0.0.1-SNAPSHOT.jar
#pid存在则kill   -n 判断pid是否为null
if [ -n "$pid" ]
then
kill -9 $pid
fi
#打印提示 
echo 'Start the program : app.jar'
#给项目jar  777权限#进入项目所在目录,在jenkins服务器上配置的工作目录
cd /root/data
#修改权限
chmod 777 /root/data/shared_battery-0.0.1-SNAPSHOT.jar
echo '-------Starting-------'
#运行项目 (指定时区  指定字符编码  指定输出日志)
source /etc/profile && java -jar shared_battery-0.0.1-SNAPSHOT.jar >app.log 2>&1 &
echo 'jar启动完成'

#给脚本添加可执行权限

chmod +x /usr/workspace/app-start-1.sh

运行测试

这篇关于运维学习————Jenkins部署Jar包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143455

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

javacv依赖太大导致jar包也大的解决办法

《javacv依赖太大导致jar包也大的解决办法》随着项目的复杂度和依赖关系的增加,打包后的JAR包可能会变得很大,:本文主要介绍javacv依赖太大导致jar包也大的解决办法,文中通过代码介绍的... 目录前言1.检查依赖2.更改依赖3.检查副依赖总结 前言最近在写项目时,用到了Javacv里的获取视频

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程

java -jar example.jar 产生的日志输出到指定文件的方法

《java-jarexample.jar产生的日志输出到指定文件的方法》这篇文章给大家介绍java-jarexample.jar产生的日志输出到指定文件的方法,本文给大家介绍的非常详细,对大家的... 目录怎么让 Java -jar example.jar 产生的日志输出到指定文件一、方法1:使用重定向1、

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Python学习笔记之getattr和hasattr用法示例详解

《Python学习笔记之getattr和hasattr用法示例详解》在Python中,hasattr()、getattr()和setattr()是一组内置函数,用于对对象的属性进行操作和查询,这篇文章... 目录1.getattr用法详解1.1 基本作用1.2 示例1.3 原理2.hasattr用法详解2.

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到