wagon作用是去除我们部署时繁复的步骤,不用再手动上传jar包或者war包到指定服务器路径下面。

使用方法直接在项目pom中引入wagon-maven-plugin

<properties>
...<!--        wagon plugin 配置--><service-path>/usr/local/soft/xxx</service-path><pack-name>${project.artifactId}.jar</pack-name><remote-addr>192.168.1.2:22</remote-addr><remote-username>root</remote-username><remote-passwd>123456</remote-passwd>
</properties>
<!-- jar包拷贝插件 --><plugin><groupId>org.codehaus.mojo</groupId><artifactId>wagon-maven-plugin</artifactId><version>1.0</version><!--                <executions>--><!--                    <execution>--><!--                        <phase>package</phase>--><!--                        <goals>--><!--                            <goal>sshexec</goal>--><!--                        </goals>--><!--                    </execution>--><!--                </executions>--><configuration><fromFile>target/${pack-name}</fromFile><url><![CDATA[scp://${remote-username}:${remote-passwd}@${remote-addr}${service-path}]]></url><commands><!-- Kill Old Process --><command>kill -9 `ps -ef |grep ${project.artifactId}.jar|grep -v "grep" |awk '{print $2}'`</command><!-- Restart jar package,write result into healthy.log --><command><![CDATA[nohup java -jar ${service-path}/${pack-name} --spring.profiles.active=prod > ${service-path}/healthy.log 2>&1 & ]]></command><command><![CDATA[netstat -nptl]]></command><command><![CDATA[ps -ef | grep java | grep -v grep]]></command></commands><!-- 显示运行命令的输出结果 --><displayCommandOutputs>true</displayCommandOutputs></configuration></plugin>

执行

或者

mvn clean package wagon:upload-single wagon:sshexec

Tips

关于一些goals

  • wagon:upload-single uploads the specified file to a remote location.
  • wagon:upload uploads the specified set of files to a remote location.
  • wagon:download-single downloads the specified file from a remote location.
  • wagon:download downloads the specified set of files from a remote location.
  • wagon:list lists the content of a specified location in a remote repository.
  • wagon:copy copies a set of files under a Wagon repository to another.
  • wagon:merge-maven-repos merges , including metadata, a Maven repository to another.
  • wagon:sshexec Executes a set of commands at remote SSH host.

其他的标签

skip属性,boolean类型,默认是true,作用是忽略execution

优势

去除了发布的重复动作,直接一个命令就可以完成

将人为的错误降低了,工作更加高效

java 利用 wagon 插件 实现自动化部署相关推荐

  1. maven wagon插件实现自动化部署

    使用maven-wagon插件实现自动化部署 wagon-maven-plugin 在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install &am ...

  2. 纯java的方式实现自定义自动化部署java项目

    纯java的方式实现自定义自动化部署java项目 前言 使用第三方的服务或插件实现部署所存在的问题 自动化部署java项目 java项目部署方式 流程 代码实现 打包 使用 java 执行 cmd 进 ...

  3. Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器

    通常情况下,程序开发完成后部署到线上Linux服务器,可能需要经历打包.将包文件传到服务器.SSH连上服务器.敲命令启动程序等一系列繁琐的步骤.实际上这些步骤都可以通过Maven的一个插件wagon- ...

  4. Maven插件wagon-maven-plugin自动化部署

    Maven的一个插件wagon-maven-plugin来自动完成. 文件上传到服务器 Maven项目可使用mvn package指令打包,打包完成后包位于target目录下,要想在远程服务器上部署, ...

  5. vue部署到服务器_利用Gulp实现代码自动化部署

    前端项目在部署时一般的操作是运行打包命令,然后通过ftp或者finalShell等工具连接服务器,把dist目录下的文件拖到指定的目录下,完成项目的部署. 今天介绍一个实用的工具----gulp,可以 ...

  6. Java利用itchat4j插件实现个人微信自动化

    一直都想实现个人智能微信,不需要自己操作就可以实现与好友的交流,实现微信的智能化.但是在实现过程中,发现已有大神封装了相应的API了,自己做简单调用就可实现了,组件的Git地址:https://git ...

  7. 使用Maven插件wagon-maven-plugin自动化部署

    在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器.实际上这些繁琐的步骤可以通过一个Maven插件wagon-maven-p ...

  8. jenkins自动化部署

    准备工作:一个svn控制的maven项目 下面是我的maven项目,管理在https://DESKTOP-M6DB48L/svn/mavenpro/mavenpro/trunk路径下(使用visual ...

  9. 实现前端项目自动化部署(webpack+nodejs)

    前言: 一般来说,我们前端是不需要关心部署的事情的,只需要把打包后的文件直接丢给后台去部署就可以了.但是呢,如果频繁修改一点东西就要叫后台进行部署,这样后台会很烦(毕竟人家还有其他工作嘛),我们也会很 ...

最新文章

  1. ThinkPHP 模板循环输出 Volist 标签
  2. 010-ThreadGroup线程组
  3. codeforces315Div1 B Symmetric and Transitive
  4. 以人致胜 SAP开启HR云端变革之旅
  5. MATLAB中将pgm图片二值化
  6. PIE SDK剔除栅格块算法
  7. 阿里研究员:缩短软件开发中的反馈弧
  8. ACM MM2021 HANet:从局部到整体的检索!阿里提出用于视频文本检索的分层对齐网络HANet!代码已开源!...
  9. WordPress疑难问题以及解决方案汇总
  10. pythonic风格_【Python】性能优化之Pythonic风格化代码
  11. pgsql 9.4修改数据库只读
  12. 织梦DEDE一键搬迁网站模板数据到DSCMS教程
  13. 一次函数的斜率公式_直线斜率k的公式
  14. 美团在O2O场景下的广告营销
  15. 中国研修网计算机培训心得,网络研修培训心得体会
  16. python使用cookie登陆新浪微博用户信息
  17. 使用Glide模仿微信图片加载策略
  18. sketch颜色和html颜色不一致,photoshop和sketch中图片色彩不一致的原因和解决办法...
  19. IP-guard苹果加密软件|苹果系统加密|Mac文档加密软件
  20. 阿里云_云计算_基础框架_Punrain

热门文章

  1. 2022山东省安全员C证考试题库及答案
  2. 【单链表排序】基于C的单链表排序
  3. cowboy的get和post的例子
  4. springboot helloword
  5. SEM百度推广初学者入门级教程
  6. VB、WIN32API函数在串口操作模块的运用
  7. 150条经典装逼语录,都是经典
  8. ArcGIS:如何制作数据统计图?
  9. C语言之五子棋项目 基于EasyX图形库
  10. 自动控制原理(机电)_简要复习_笔记