java 利用 wagon 插件 实现自动化部署
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 插件 实现自动化部署相关推荐
- maven wagon插件实现自动化部署
使用maven-wagon插件实现自动化部署 wagon-maven-plugin 在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install &am ...
- 纯java的方式实现自定义自动化部署java项目
纯java的方式实现自定义自动化部署java项目 前言 使用第三方的服务或插件实现部署所存在的问题 自动化部署java项目 java项目部署方式 流程 代码实现 打包 使用 java 执行 cmd 进 ...
- Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器
通常情况下,程序开发完成后部署到线上Linux服务器,可能需要经历打包.将包文件传到服务器.SSH连上服务器.敲命令启动程序等一系列繁琐的步骤.实际上这些步骤都可以通过Maven的一个插件wagon- ...
- Maven插件wagon-maven-plugin自动化部署
Maven的一个插件wagon-maven-plugin来自动完成. 文件上传到服务器 Maven项目可使用mvn package指令打包,打包完成后包位于target目录下,要想在远程服务器上部署, ...
- vue部署到服务器_利用Gulp实现代码自动化部署
前端项目在部署时一般的操作是运行打包命令,然后通过ftp或者finalShell等工具连接服务器,把dist目录下的文件拖到指定的目录下,完成项目的部署. 今天介绍一个实用的工具----gulp,可以 ...
- Java利用itchat4j插件实现个人微信自动化
一直都想实现个人智能微信,不需要自己操作就可以实现与好友的交流,实现微信的智能化.但是在实现过程中,发现已有大神封装了相应的API了,自己做简单调用就可实现了,组件的Git地址:https://git ...
- 使用Maven插件wagon-maven-plugin自动化部署
在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器.实际上这些繁琐的步骤可以通过一个Maven插件wagon-maven-p ...
- jenkins自动化部署
准备工作:一个svn控制的maven项目 下面是我的maven项目,管理在https://DESKTOP-M6DB48L/svn/mavenpro/mavenpro/trunk路径下(使用visual ...
- 实现前端项目自动化部署(webpack+nodejs)
前言: 一般来说,我们前端是不需要关心部署的事情的,只需要把打包后的文件直接丢给后台去部署就可以了.但是呢,如果频繁修改一点东西就要叫后台进行部署,这样后台会很烦(毕竟人家还有其他工作嘛),我们也会很 ...
最新文章
- ThinkPHP 模板循环输出 Volist 标签
- 010-ThreadGroup线程组
- codeforces315Div1 B Symmetric and Transitive
- 以人致胜 SAP开启HR云端变革之旅
- MATLAB中将pgm图片二值化
- PIE SDK剔除栅格块算法
- 阿里研究员:缩短软件开发中的反馈弧
- ACM MM2021 HANet:从局部到整体的检索!阿里提出用于视频文本检索的分层对齐网络HANet!代码已开源!...
- WordPress疑难问题以及解决方案汇总
- pythonic风格_【Python】性能优化之Pythonic风格化代码
- pgsql 9.4修改数据库只读
- 织梦DEDE一键搬迁网站模板数据到DSCMS教程
- 一次函数的斜率公式_直线斜率k的公式
- 美团在O2O场景下的广告营销
- 中国研修网计算机培训心得,网络研修培训心得体会
- python使用cookie登陆新浪微博用户信息
- 使用Glide模仿微信图片加载策略
- sketch颜色和html颜色不一致,photoshop和sketch中图片色彩不一致的原因和解决办法...
- IP-guard苹果加密软件|苹果系统加密|Mac文档加密软件
- 阿里云_云计算_基础框架_Punrain