jfinal-undertow使用maven推送到远程,并自动启动。

开发测试爽歪歪。(适用于任何maven项目)

找到maven的全局配置文件(setting.xml)

补充,start.sh 脚本,记得修改日志目录

image.png

在servers坐标中添加自定义server

<server>
      <id>test</id> <!-- 唯一,maven pom中使用 -->
      <username>root</username> <!-- 远程服务器登录名 -->
      <password>123456</password> <!-- 远程服务器密码 -->
    </server>

修改保存。

在maven pom中添加以下内容。

<build>
    <finalName>myproject</finalName>
    <extensions>
        <extension>
            <groupId>org.apache.maven.wagon</groupId>
            <artifactId>wagon-ssh</artifactId>
            <version>2.8</version>
        </extension>
    </extensions>

    <plugins>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>wagon-maven-plugin</artifactId>
            <version>1.0</version>
            <dependencies>
                <dependency>
                    <groupId>com.jcraft</groupId>
                    <artifactId>jsch</artifactId>
                    <version>0.1.54</version>
                </dependency>
                <dependency>
                    <groupId>org.bouncycastle</groupId>
                    <artifactId>bcprov-jdk16</artifactId>
                    <version>1.46</version>
                </dependency>
            </dependencies>
            <configuration>
                <serverId>test</serverId>
                <fromFile>target/rrc_app-release.zip</fromFile>
                <url>scp://服务器IP/var/www/web</url>
                <commands>
                    <!-- 停止项目 -->
                    <command>sh /var/www/web/AppRun8880/stop.sh</command>
                    <!-- 删除项目 -->
                    <command>rm -rf /var/www/web/AppRun8880</command>
                    <!-- 我是zip压缩包,解压 -->
                    <command>unzip /var/www/web/rrc_app-release.zip -d /var/www/web/AppRun8880</command>
                    <!-- 由于遇到 win系统打包无法执行,需要使用此工具进行转换 -->
                    <command>dos2unix /var/www/web/AppRun8880/*.sh</command>
                    <!-- 启动项目 -->
                    <command>sh /var/www/web/AppRun8880/start.sh</command>
                    <!-- 删除压缩包 -->
                    <command>rm -rf /var/www/web/rrc_app-release.zip</command>
                </commands>
                <!-- 显示运行命令的输出结果 -->
                <displayCommandOutputs>true</displayCommandOutputs>
            </configuration>
        </plugin>
    </plugins>
</build>

因为我用的是idea。所以就以idea截图了

image.png

或者使用mvn 命令行操作也行。

项目就推送到远程服务器了。并自动执行配置的命令了。

wagon:upload-single 只上传,
wagon:sshexec 执行命令

评论区

蔚蓝天空

2019-01-07 17:15

谢谢分享,

JFinal

2019-01-07 23:39

这个用法太爽了,将部署这件事进一步简单快速化了,点赞 + 收藏

回头我将这个方法推到俱乐部群里面去,谢谢分享

himans

2019-01-08 16:19

刚好需要,感谢!

wesleyxw

2019-01-13 17:20

用的很爽,赞