jenkins 发布远程服务器并部署项目

安装参考另一个文章

配置maven 和 jdk 和 git

注意jdk的安装目录,是jenkins 安装所在服务器的jdk目录

注意maven的目录 是jenkins 安装所在服务器的maven目录

注意git的目录 是jenkins 安装所在服务器的 git 目录

安装 Publish Over SSH 插件

配置远程服务器

创建项目

创建maven项目

开始配置

General 默认不用修改

源码管理

注意

构建触发器

构建环境

Pre Steps

选择 Send files or execute commands over SSH

目标服务器 Root根目录 创建 x.sh 文件

文件内容 将 111111111111111111 写到 xxx.txt文件里面

#!/bin/bash

echo "111111111111111111">xxx.txt

测试 手动运行 x.sh

创建 xxx.txt文件 并将 111111111111111111 写入到里面

测试完后 删除xxx.txt

打包之前没有 xxx.txt 文件

编辑 x.sh文件 ,并添加脚本内容

#!/bin/bash

#删除历史数据

rm -rf home

appname=$1

#获取传入的参数

echo "arg:$1"

#获取正在运行的jar包pid

pid=`ps -ef | grep 1 \| grep 'java -jar' \| awk '{printf 2}'`

echo $pid

#如果pid为空,提示一下,否则,执行kill命令

if [ -z $pid ];

#使用-z 做空值判断

then

echo "$appname not started"

else

kill -9 $pid

echo "$appname stoping...."

check=`ps -ef | grep -w $pid | grep java`

if [ -z $check ];

then

echo "appname pid:pid is stop"

else

echo "$appname stop failed"

fi

fi

执行 demo 传入的参数,就是用脚本里面的 appname 接受的

执行命令 nohup java -jar /root/home/java/app/ruoyi-admin.jar >mylog.log 2>&1 &

启动后打印日志写入到 mylog.log 这个文件 可以到这个文件去日志

把脚本 ./x.sh ruoyi-admin 配置到 启动前 Pre Steps

Build 构建

选择 Send files or execute commands over SSH

是项目 去前缀 ruoyi-web

构建后操作

选择 Send build artifacts over SSH

vi start.sh 脚本内容

nohup /usr/java/jdk1.8.0_162/bin/java -jar /root/home/java/app/ruoyi-admin.jar >mylog.log 2>&1 &

注意分配权限 chmod 777 start.sh

开始构建

查看控制台

构建成功并推送远程服务器

远程服务器的jar包

查看日志 cat mylog.log 启动成功

访问获取验证码的接口进行测试是否成功

http://192.168.43.202:9090/captchaImage

相关推荐
一叶知秋yyds33 分钟前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组1 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar20122 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘3 小时前
负载均衡的多维深度解析
运维·负载均衡
楠奕3 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT3 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!3 小时前
Linux常用指令(2)
linux·运维·服务器
飞Link4 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化
LIZhang20165 小时前
linux写一个脚本实时保存内存占用情况
linux·运维·服务器
FS_Marking5 小时前
ZTP(零接触配置):实现自动化与高效的网络部署
运维·网络·自动化