wagon-maven-plugin插件可以帮助我们scp上传jar包并且远程执行shell命令
1. 配置2. 使用步骤dev root 1234567890 192.168.122.22 dev true org.apache.maven.wagon wagon-ssh 2.8 org.codehaus.mojo wagon-maven-plugin 2.0.2 target/${project.artifactId}-${project.version}.jar scp://${user}:${password}@${ip}/usr/springboot/app sh /usr/springboot/app/start-jar.sh restart true org.apache.maven.plugins maven-surefire-plugin 2.12.4 true org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 UTF-8
先打包,执行mvn clean package
再上传打包的文件,执行:wagon:upload-single
执行shell 命令(脚本),主要是停止、删除原来的服务,启动新的服务,执行:wagon:shexec
或者使用IDEA,新增命令clean package wagon:upload-single wagon:sshexec
或者修改一下pom
只需要执行mvn clean package
此处的 mvn clean package 相当于执行mvn clean package wagon:upload-single wagon:sshexec
3. 其他org.codehaus.mojo wagon-maven-plugin 2.0.2 upload-deploy package upload-single sshexec target/${project.artifactId}-${project.version}.jar scp://${user}:${password}@${ip}/usr/springboot/app sh /usr/springboot/app/start-jar.sh restart true
shell脚本
stop.sh 停止服务的脚本:
#!/bin/bash
APP_NAME='assets.jar'
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ];then
echo 'Stop Process...'
kill -9 $tpid
fi
sleep 1
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ];then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
start.sh 启动脚本:
#!/bin/bash
fileDir=/usr/springboot/app
fileName=assets.jar
nohup java -jar ${fileDir}/${fileName} > ${fileDir}/assets.log 2>&1 &
echo $?
echo 'Start Success! '



