`

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 命令





  • 大小: 53.3 KB
分享到:
评论

相关推荐

    maven-maven-plugin-1.4.jar

    maven-maven-plugin-1.4.jar

    SpringBoot项目使用maven配置文件

    - 配置Maven的全局设置文件`~/.m2/settings.xml`,可以设置本地仓库路径、远程仓库地址以及代理服务器等。 2. 创建SpringBoot项目: - 使用Spring Initializr (start.spring.io)在线生成SpringBoot项目骨架,可以...

    pwdumper-maven-plugin:转储 Maven 密码 - 用于排除 Wagon 授权的故障

    从压缩包子文件的文件名称列表`pwdumper-maven-plugin-master`来看,这可能是一个包含源代码和相关文件的项目主分支。通常,`master`分支代表项目的主版本或默认分支,用户可以从中获取到插件的最新源码,编译并...

    rsync-maven-wagon:一个使用本地rsync命令进行部署的Maven插件

    当应用到Maven部署场景时,rsync-maven-wagon可以用来将构建后的项目文档,如Javadoc、源代码等,部署到远程服务器上,例如更新网站或者发布版本。 要使用rsync-maven-wagon,首先需要在项目的pom.xml文件中添加...

    dubbo、dubbox编译所需jar包

    maven-plugin-parameter-documenter-2.0.9.jar maven-plugin-parameter-documenter-2.0.jar maven-plugin-registry-2.0.8.jar maven-plugin-registry-2.0.9.jar maven-plugin-registry-2.0.jar maven-plugin-testing...

    wagon-git-gradle:带有 wagon-git 的 Gradle 插件以将 git 用于 maven 存储库

    wagon-git-gradle 是一个 Gradle 插件,它的主要目的是扩展 Maven 存储库管理功能,通过集成 Git 来实现。在传统的 Maven 构建过程中,通常使用 HTTP、FTP 或 SSH 协议来与远程仓库交互,但 wagon-git 插件引入了一...

    maven及plexus相关jar包

    2. **Maven插件支持**:如`maven-plugin-api.jar`,提供了与Maven插件交互的API,允许开发自定义插件。 3. ** Plexus组件**:如`plexus-container-default.jar`,包含了Plexus默认的组件容器实现;`plexus-utils....

    FirstMaven.zip

    6. 使用wagon-git部署:开发者可以通过maven-deploy-plugin配合wagon-git插件将本地构建的jar或aar文件推送到GitLab仓库,实现私有依赖的发布。 7. 集成CI/CD:结合GitLab CI/CD,可以在代码提交时自动构建、测试并...

    开发用jar包合集

    jarjar-maven-plugin-api-3.0.4.jar jarjar-maven-repository-metadata-3.0.4.jar jarjar-maven-settings-3.0.4.jar jarjar-maven-settings-builder-3.0.4.jar jarjar-plexus-cipher-1.7.jar jarjar-plexus-...

    java wagon如何打包文件到不同服务器

    Java Wagon是一个Maven插件,它允许开发者方便地将项目构建后的文件部署到不同的服务器。这个工具在Java开发流程中特别有用,因为通常需要将编译好的JAR或WAR文件上传到远程服务器进行测试、预发布或生产环境的部署...

    sf-mvn-plugins-开源

    面向开发人员的Maven插件集合:1)wagon-http-sourceforge,可从SF文件发布区域下载工件2)1jar-maven-plugin支持一罐技术

    旅行车插件

    MojoHaus Wagon Maven插件 这是 。 发行 确保ssh-agent正在运行。 执行mvn -B release:prepare release:perform 要发布站点,请执行以下操作: cd target/checkout mvn verify site scm-publish:publish-scm

Global site tag (gtag.js) - Google Analytics