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

相关推荐
拖累斯9 分钟前
Jenkins + Python 全自动跑通「禅道任务/BUG 导出 → 月度开发考核表」
python·jenkins·bug
无人生还别怕16 分钟前
如何搭建docker仓库(轻量级)registry
linux·运维·docker·云原生·容器·registry·openanolisos
分布式存储与RustFS1 小时前
Hudi 表想摆脱 HDFS 绑定?用 Spark + Hudi 直接写进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
zhengfei6111 小时前
CVE-2026-98432:Linux 内核 TCP 释放后重用漏洞,CVSS 9.8 但补丁覆盖极不均衡
linux·运维·tcp/ip
逐流人1 小时前
DevOps 入门实战(一):从 CI/CD 概念到 Jenkins 自动构建部署
运维·云原生·云计算·jenkins·devops
xyzzklk2 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
叼烟扛炮4 小时前
Linux 学习笔记(五十九):epoll 的生死抉择——LT 与 ET 模式
linux·运维·服务器·网络·笔记·学习·php
飞飞传输11 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
Ruiery12 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农12 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器