之前使用过jenkins,这次分享一个在mac下直接sh脚本发布感觉更随意,方便!小项目就没必要去折腾jenkins了。。哈哈。。
首先mac 要安装sshpass 命令用于ssh 连接等相关操作。
brew install sshpass
安装完成后,新建remote_post.sh 文件
#!/bin/bash
# 配置参数
SERVER_IP="IP"
USERNAME="用户名"
PASSWORD="密码"
WAR_FILE="***/ruoyi-web/target/ruoyi-web.war"
REMOTE_DIR="***/apache-tomcat-9.0.88/webapps/web"
TOMCAT_DIR="***/apache-tomcat-9.0.88/bin"
# 上传 WAR 文件
echo "正在上传 WAR 文件..."
#这里 scp 如果要传目录 需要加上 scp -r ,文件省略
sshpass -p "$PASSWORD" scp "$WAR_FILE" "$USERNAME@$SERVER_IP:$REMOTE_DIR"
if [ $? -ne 0 ]; then
echo "上传失败!"
exit 1
fi
echo "上传成功!"
# 重启 Tomcat
# 连接到服务器并执行 shutdown.sh 和 start.sh
sshpass -p "$PASSWORD" ssh "$USERNAME@$SERVER_IP" << EOF
echo "正在关闭 Tomcat..."
cd "$TOMCAT_DIR"
./shutdown.sh
sleep 5 # 等待 Tomcat 完全关闭
echo "正在启动 Tomcat..."
./startup.sh
EOF
if [ $? -eq 0 ]; then
echo "Tomcat 已成功重启!"
else
echo "重启失败!"
fi
运行
chmod +x ./remote_post.sh //赋予权限
./remote_post.sh //执行 等待完成
wow! 启动成功了!