wagon-maven-plugin implements remote deployment

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>
                    <!-- files to deploy -->
                    <fromFile>target/tms-0.0 .1.jar</fromFile>
                    <!-- deployment directory user: password@ip+deployment address-->
                    <url>scp://root:[email protected]/opt/springboot
                    </url>
<!-- shell execute script -->
                    <commands>
                        <!-- shutdown -->
                        <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>
                    <!-- deployment directory user@ip+deployment address-->
                    <url>scp://[email protected]/opt/springboot
                    </url>
<!--shell execution script-->
                    <commands>
                        <!- - shutdown -->
                        <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>
                        <!-- start 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!'
be




Execute: wagon:upload-single to upload files
Execute : wagon:shexec to execute shell commands





Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326177706&siteId=291194637