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:[email protected]/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://[email protected]/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 命令





猜你喜欢

转载自gjp014.iteye.com/blog/2398188