一套开发阶段简单的cloud项目部署脚本
偷懒之作,在开发阶段比较简单且灵活,以后jenkins什么的可以直接用
先本地构建并集中jar包
mvn-install.bat
@echo mvn start d: cd D:\work\IdeaProjects\pig\ //项目目录 mvn clean install -Dmaven.test.skip=true @echo mvn over
move-jar.bat
@echo move start call mvn-install.bat echo. echo. d: set newDir=D:\work\jar\up-jar cd D:\work\IdeaProjects\pig\pig-gateway\target copy /y *.jar %NewDir%\ cd D:\work\IdeaProjects\pig\pig-service-auth\target copy /y *.jar %NewDir%\ cd D:\work\IdeaProjects\pig\pig-service-admin\target copy /y *.jar %NewDir%\ cd D:\work\IdeaProjects\pig\pig-service-sys\target copy /y *.jar %NewDir%\ @echo move over pause
再用scp命令上传服务器,这步也可以放在上面的命令里
@echo upload start set newDir=D:\work\jar\up-jar scp %newDir%\*.jar root@192.168.7.193:/opt/java/jar/ @echo upload over
服务器上部署脚本
all-deployment.sh
#!/bin/bash PROJECT_NAME=(pig-service-sys pig-service-admin pig-service-auth pig-gateway) PROJECT_PID=""
IGNORE_SERVICE="grep\|doc" re_start(){ stop sleep 5 for i in ${PROJECT_NAME[@]}; do echo $i "start begin" nohup java -jar -Xmx256M -Xms125M -Dfile.encoding=utf-8 -Duser.timezone=UTC $i.jar & PROJECT_PID=`ps -ef|grep $i |grep -v grep | awk '{print $2}'` until [ -n "$PROJECT_PID" ] do PROJECT_PID=`ps -ef|grep $i |grep -v grep | awk '{print $2}'` echo waing sleep 1 done echo "start end" sleep 15; echo "start next" done echo "start over" } stop(){ VAL_ONE=`ps -ef|grep pig- |grep -v $IGNORE_SERVICE| awk '{print $2}'` for i in $VAL_ONE;do kill -9 $i;done sleep 3 echo kill all } start(){ stop echo move..... mv /opt/java/jar/pig-*.jar /opt/java/ echo start re_start } read -p "请选择操作: 1-重部署,2-重启,3-停止:" key case $key in 1) start;; 2) re_start;; 3) stop;; *) esac echo 'shell over...'
上传那步因为每次scp传文件会要输密码,弄个ssh公钥放到服务器上信任,简单记一下
本地生成密钥跟公钥,输入名后一直回车,不设密码了
ssh-keygen -t ed33333 -C "your_email@example.com"
#查看公钥内容
cat ~/.ssh/id_ed33333.pub
复制到服务器上的
~/.ssh/authorized_keys
文件里,多个换行就行了
记得给好权限,重新执行上传命令yes之后每次就不用输密码了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现