做一个 idea一键部署到服务器的maven插件

  • 因为懒,所以做了这个插件

  • 插件分为4个模块:

    • start:用于启动远程项目的命令
    • push:用于上传jar到远程
    • shutdown:停止远程项目
    • quick:上边三者的合并,一键部署

项目中配置:

<plugins>
// 引入插件
    <plugin>
        <groupId>cn.com.pandaonline</groupId>
        <artifactId>promulgator</artifactId>
        <version>3.0-SNAPSHOT</version>
        <configuration>
        	// 可以配置不同的环境,测试服务器 正式服务器 。。。
            <activeEnv>dev</activeEnv>
            // 项目的跟路径
            <projectPath>${project.basedir}</projectPath>
            // 所以远程服务器 地址。可多环境,根据 env区分,不可重复
            <clients>
                <client>
                    <env>dev</env>
                    <host>10.16.0.58</host>
                    <username>root</username>
                    <password>jkl;'</password>
                </client>
            </clients>
            // 用于上传项目到服务器的 必要配置,如果不使用quick和push模块,无需配置
            <pushConfig>
                <jarPath>${project.basedir}\\target\\${project.artifactId}-${project.version}.jar</jarPath>
                <pushParams>
                    <pushParam>
                    	// 环境key
                        <env>dev</env>
                        // 是否强制替换jar,如果存在的话,false存在相同文件会停止继续执行
                        <replace>true</replace>
                        // 要上传到远程服务器的文件夹地址
                        <filePath>/data/product/ss/main</filePath>
                        // jar名
                        <fileName>${project.artifactId}-${project.version}.jar</fileName>
                    </pushParam>
                </pushParams>
            </pushConfig>
            // 用于启动项目的 必要配置,如果不使用quick和start模块,无需配置
            <startConfig>
                <startParams>
                    <startParam>
                        <env>dev</env>
                        // 执行多条cmd,用于启动项目,因项目不同,需要写入自己的cmd命令
                        <cmds>
                            <cmd>cd /data/product/ss/main</cmd>
                            <cmd>./start.sh</cmd>
                        </cmds>
                    </startParam>
                </startParams>
            </startConfig>
            // 用于停止项目的 必要配置,如果不使用quick和shutdown模块,无需配置
            <shutdownConfig>
                <shutdownParams>
                    <shutdownParam>
                        <env>dev</env>
                        <cmds>
                            <cmd>cd /data/product/ss/main</cmd>
                            <cmd>./shutdown.sh</cmd>
                        </cmds>
                    </shutdownParam>
                </shutdownParams>
            </shutdownConfig>
        </configuration>
    </plugin>
</plugins>

配置完成之后点击:
在这里插入图片描述
插件即开始 clean、package、shutdown项目、push项目到远程、start项目。
如果想用 nginx负载均衡方式,友好的切换流量可以看:https://blog.youkuaiyun.com/qq_20907623/article/details/86611475,
直接进行启动关闭:https://blog.youkuaiyun.com/qq_20907623/article/details/86513229

代码地址:
https://github.com/qq443672581/plug/tree/master/promulgator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值