Maven: 自动远程部署
2024-09-01 14:32:37
1. 在settings.xml中的Servers节点中增加Server的登录信息:
<server>
<id>deploy_server_65</id>
<username>username</username>
<password>password</password>
</server>
2. 在pom中的build节点增加extensions内容:
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-ssh</artifactId>
<version>2.10</version>
</extension>
</extensions>
3. 在plugin中增加plug
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>deploy_server_65</serverId>
<commands>
<!-- 删除之前文件 -->
<command>rm -rf /var/lib/hadoop-hdfs/bigdata-stat-3.2.1.jar</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
<!-- 需要部署的文件 -->
<fromFile>target/bigdata-stat-3.2.1.jar</fromFile>
<!-- 部署目录 -->
<url>scp://root@10.1.108.65/var/lib/hadoop-hdfs</url>
</configuration>
</plugin>
4. 在命令行执行:
mvn clean package wagon:sshexec wagon:upload-single
5. plug-in绑定生命周期方式
但是这种方式还需要在命令行指定插件以及目标(goals),还可以将插件绑定到Maven的生命周期中,让其自动执行:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<id>upload-deploy</id>
<!-- 运行package打包的同时运行upload-single和sshexec -->
<phase>package</phase>
<goals>
<goal>sshexec</goal>
<goal>upload-single</goal>
</goals>
<configuration>
<serverId>deploy_server_65</serverId>
<!-- 需要部署的文件 -->
<fromFile>target/bigdata-stat-3.2..jar</fromFile>
<!-- 部署目录 -->
<url>scp://root@10.1.108.65/var/lib/hadoop-hdfs</url>
<commands>
<!-- 删除之前文件 -->
<command>rm -rf /var/lib/hadoop-hdfs/bigdata-stat-3.2..jar</command>
</commands>
<displayCommandOutputs>true</displayCommandOutputs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
可以看到,增加了executors/executor节点,并在节点中通过phase节点了plugin执行的阶段以及<goals>节点指令了执行的目标。
最新文章
- 【转载】js 各种复制到剪贴板
- Java 关键字static final使用总结
- js:判断对象是否为空
- MySQL性能优化的最佳20+套经验
- Python下划线的使用 _ __ __obj__
- Linux字符界面和图形界面
- SQL之概念
- jquery ui sortable 实现table,row的拖动。(Make Table Rows Sortable Using jQuery UI Sortable)
- 吾八哥学Python(一):搭建Python开发环境(Windows)
- 使用localstorage来存储页面信息
- DenseNet
- 单源最短路径---Bellman-Ford算法
- Spring cloud gateway
- 在eclipse中安装groovy插件
- 聊聊pytorch中的DataLoader
- [HTTP]HTTP 中的 Transfer-Encoding 报文头
- echarts设置toolTip大小和样式问题
- 科普贴 | 以太坊网络中的Gas Limit 和 Gas Price 是什么概念?
- Codeforces 221 C. Little Elephant and Problem
- Scrapy 抓取股票行情