maven(17)-自动发布到远程linux服务器

发布方式

手工方式:需要做一系列的工作,包括打WAR包,上传到服务器,重启服务器,删除旧文件等

自动方式:一条命令完成以上所有过程


服务器环境

centos7.3和tomcat8,关于centos的应用,涉及LINUX方面的知识以后有机会再讲,这里假设已经在centos上部署好了tomcat


pom.xml

  1. <extensions>
  2. <extension>
  3. <groupId>org.apache.maven.wagon </groupId>
  4. <artifactId>wagon-ssh </artifactId>
  5. <version>2.10 </version>
  6. </extension>
  7. </extensions>
  8. <plugins>
  9. <plugin>
  10. <groupId>org.codehaus.mojo </groupId>
  11. <artifactId>wagon-maven-plugin </artifactId>
  12. <version>1.0 </version>
  13. <configuration>
  14. <fromFile>target/test-1.0.war </fromFile>
  15. <toFile>test.war </toFile>
  16. <url>scp://wb:123@192.168.150.128/home/wb/pro/tomcat/webapps </url>
  17. <commands>
  18. <command>/home/wb/pro/tomcat/bin/shutdown.sh </command>
  19. <command>rm -rf /home/wb/pro/tomcat/webapps/test </command>
  20. <command>/home/wb/pro/tomcat/bin/startup.sh </command>
  21. </commands>
  22. <displayCommandOutputs>true </displayCommandOutputs>
  23. </configuration>
  24. </plugin>
  25. </plugins>

<extensions>:是maven扩展构件

wagon-maven-plugin:是自动上传的插件

<fromFile>:需要发布的本地文件名

<toFile>:发布到服务器后的文件名

<url>:协议://centos用户名:密码@服务器IP/tomcat的webapps目录,这是url的基本格式,发布到远程tomcat的webapps下

<commands>:按顺序执行linux命令,第一条是关闭tomcat,第二条是删除旧项目文件,第三条是启动 tomcat。

<displayCommandOutputs>:true是显示命令执行结果


执行命令

在eclipse中右键项目--运行方式--maven build...--goals中输入 package wagon:upload-single wagon:sshexec,运行,运行过程中可能会需要你输入一个yes--回车

这个命令的意思

package:打war包

wagon:upload-single:上传war包到pom.xml中的url,会自动覆盖url中旧的war包

wagon:sshexec:执行<commands>中的命令

执行结果:将本地修改过的项目代码,通过插件配置,自动打成WAR包上传到服务器,自动删除旧项目,自动重启tomcat


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值