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

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

ubuntu如何部署Dify以及安装Docker? Dify安装部署指南

《ubuntu如何部署Dify以及安装Docker?Dify安装部署指南》Dify是一个开源的大模型应用开发平台,允许用户快速构建和部署基于大语言模型的应用,ubuntu如何部署Dify呢?详细请... Dify是个不错的开源LLM应用开发平台,提供从 Agent 构建到 AI workflow 编排、RA