基于maven自动发布-Maven Wagon

发布方式

手工方式:需要做一系列的工作,上传到服务器,停止服务,删除旧文件,移动文件,启动服务等。

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


pom.xml

		<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>
					<fromFile>target/test-0.0.1-SNAPSHOT.jar</fromFile>
					<toFile>test-0.0.1-SNAPSHOT.jar</toFile>
					<url>scp://wb:password@192.168.1.100/mnt/project/test/temp</url>
					<commands>
						<command>/mnt/project/test/sh/shutdown.sh</command>
						<command>cp -rf /mnt/project/test/temp/test-0.0.1-SNAPSHOT.jar /mnt/project/test/</command>
						<command>/mnt/project/test/sh/startup.sh</command>
					</commands>
					<displayCommandOutputs>true</displayCommandOutputs>
				</configuration>
			</plugin>
		</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:编译打包

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

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

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


startup.sh:

java -jar test-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
shutdown.sh:
ps -ef | grep test-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}' | xargs kill -9

这个例子仅提供简单实现,继续进阶请移步  http://maven.apache.org/wagon/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jc_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值