wagon-maven-plugin 实现远道部署
wagon-maven-plugin 实现远程部署
1.添加wagon-maven-plugin
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
</dependency>
2:
<build>
<finalName>tms</finalName>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>webserver</serverId>
<!-- 需要部署的文件 -->
<fromFile>target/tms-0.0.1.jar</fromFile>
<!-- 部署目录 用户:密码@ip+部署地址-->
<url>scp://root:boce@192.168.6.24/opt/springboot
</url>
<!--shell 执行脚本 -->
<commands>
<!-- 关闭-->
<command>sh /opt/springboot/stop.sh</command>
<command>cp /opt/springboot/tms-0.0.1.jar /opt/springboot/tms-0.0.1.jar_bak</command>
<!-- 启动tomcat -->
<command>sh /opt/springboot/start.sh</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</build>
或者把用户名和密码配置在maven的 settings.xml 中。
<server>
<id>webserver</id>
<username>root</username>
<password>bocete</password>
</server>
<build>
<finalName>tms</finalName>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>webserver</serverId>
<!-- 需要部署的文件 -->
<fromFile>target/tms-0.0.1.jar</fromFile>
<!-- 部署目录 用户@ip+部署地址-->
<url>scp://root@192.168.6.24/opt/springboot
</url>
<!--shell 执行脚本 -->
<commands>
<!-- 关闭-->
<command>sh /opt/springboot/stop.sh</command>
<command>cp /opt/springboot/tms-0.0.1.jar /opt/springboot/tms-0.0.1.jar_bak</command>
<!-- 启动tomcat -->
<command>sh /opt/springboot/start.sh</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</build>
3.shell 命令:
vi start.sh
rm -rf tpid
nohup java -jar /opt/springboot/tms-0.0.1.jar > /dev/null 2>&1 &
echo $! > tpid
echo Start Success!
vi stop.sh
APP_NAME=tms-0.0.1.jar
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
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
执行:wagon:upload-single 上传文件
执行:wagon:shexec 执行shell 命令

1.添加wagon-maven-plugin
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
</dependency>
2:
<build>
<finalName>tms</finalName>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>webserver</serverId>
<!-- 需要部署的文件 -->
<fromFile>target/tms-0.0.1.jar</fromFile>
<!-- 部署目录 用户:密码@ip+部署地址-->
<url>scp://root:boce@192.168.6.24/opt/springboot
</url>
<!--shell 执行脚本 -->
<commands>
<!-- 关闭-->
<command>sh /opt/springboot/stop.sh</command>
<command>cp /opt/springboot/tms-0.0.1.jar /opt/springboot/tms-0.0.1.jar_bak</command>
<!-- 启动tomcat -->
<command>sh /opt/springboot/start.sh</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</build>
或者把用户名和密码配置在maven的 settings.xml 中。
<server>
<id>webserver</id>
<username>root</username>
<password>bocete</password>
</server>
<build>
<finalName>tms</finalName>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>webserver</serverId>
<!-- 需要部署的文件 -->
<fromFile>target/tms-0.0.1.jar</fromFile>
<!-- 部署目录 用户@ip+部署地址-->
<url>scp://root@192.168.6.24/opt/springboot
</url>
<!--shell 执行脚本 -->
<commands>
<!-- 关闭-->
<command>sh /opt/springboot/stop.sh</command>
<command>cp /opt/springboot/tms-0.0.1.jar /opt/springboot/tms-0.0.1.jar_bak</command>
<!-- 启动tomcat -->
<command>sh /opt/springboot/start.sh</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</plugin>
</build>
3.shell 命令:
vi start.sh
rm -rf tpid
nohup java -jar /opt/springboot/tms-0.0.1.jar > /dev/null 2>&1 &
echo $! > tpid
echo Start Success!
vi stop.sh
APP_NAME=tms-0.0.1.jar
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
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
执行:wagon:upload-single 上传文件
执行:wagon:shexec 执行shell 命令