适用项目:
传统单体项目、微服务项目等
先说下最终达到的效果,最终本地只需要执行一行命令,即可实现自动打包上传到服务器并自动重启,并且因为上传到服务器后会立马自动重启,所以影响到测试的时间也就分把钟了。可以极大程度的缩短服务更新时间,简化发包流程,从而提高开发效率。
配置步骤:
1、本地依赖安装
Maven、jdk、git、PuTTY
Maven 和 jdk 大家电脑上都是有的 ,git的话需要安装git客户端,即能有下图中的sh脚本执行窗口
在就是PuTTY 了
下载地址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
下载图中标注的就可以了
下载安装后的目录里是这样的
然后将上图中框住的两个exe文件复制一份到C盘的 C:\Windows\System32 目录里即可
远程服务器的话,我这边是 linux(centos7.4)服务器
2、sh脚本编写
#服务器ip
IP=192.168.50.252
#密码
PASSWORD=12345678
#服务名
RESOURCE_NAME=ylapp-largess-service
#jar
JAR=ylapp-largess-service.jar
#common包目录
COMMON_PATH=E:/SHIWUYOU/swy-sc/
#jar目录
LOCAL_PATH=E:/SHIWUYOU/swy-sc/ylapp-modules/ylapp-largess-service/target/ylapp-largess-service.jar
#远程服务目录
REMOTE_PATH=/opt/largess/
echo **********************=============打common包==============********************
cd $COMMON_PATH
mvn clean install -pl ylapp-common -am -Dmaven.test.skip=true
echo **********************=============打服务jar包==============********************
cd ylapp-modules
mvn clean install -pl $RESOURCE_NAME -am -Dmaven.test.skip=true
echo **********************=============备份服务器jar包==============********************
plink -pw $PASSWORD root@$IP "cd $REMOTE_PATH;mv $JAR $(date +%Y%m%d%H%M%S).jar;"
echo **********************=============上传本地jar包至服务器指定目录==============********************
pscp -l root -pw $PASSWORD $LOCAL_PATH $IP:$REMOTE_PATH
echo **********************=============重启服务==============********************
plink -P 22 -pw $PASSWORD root@$IP "cd $REMOTE_PATH;./start.sh;"
上方的脚本是我之前公司中一个微服务项目中的一个业务服务的脚本示例。只需要修改上图中红线框住的部分和最后一行的服务启动脚本(./start.sh,改成你自己的)即可,我都写了注释,这里就不做详细描述了,很简单,应该都能看懂,有不懂的就在下方留言。
一般开发环境需为每个 项目/服务 配置两个脚本即可,如:largess_dev.sh
largess_test.sh
3、脚本执行
脚本编辑好之后就可以执行了,在脚本目录右键打开git的bash here 窗口 执行 ./xxx.sh 即可
这里有个地方需要注意下,第一次执行的时候会出现如下情况:
输入y 然后回车就可以了,每个服务只会在第一次执行出现。
如果该文章有帮助到您,就留言点个赞吧!您的支持与肯定是我持续更新最大的动力。