运维学习————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

相关文章

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (