-
因为懒,所以做了这个插件
-
插件分为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