• Maven: 自动远程部署


    1. 在settings.xml中的Servers节点中增加Server的登录信息:

    1   <server>
    2       <id>deploy_server_65</id>
    3       <username>username</username>
    4       <password>password</password>
    5   </server>

    2. 在pom中的build节点增加extensions内容:

    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>

    3. 在plugin中增加plug

     1             <plugin>
     2                 <groupId>org.codehaus.mojo</groupId>
     3                 <artifactId>wagon-maven-plugin</artifactId>
     4                 <version>1.0</version>
     5                 <configuration>
     6                     <serverId>deploy_server_65</serverId>
     7                     <commands>
     8                         <!-- 删除之前文件 -->
     9                         <command>rm -rf /var/lib/hadoop-hdfs/bigdata-stat-3.2.1.jar</command>
    10                     </commands>
    11                     <displayCommandOutputs>true</displayCommandOutputs>
    12                     <!-- 需要部署的文件 -->
    13                     <fromFile>target/bigdata-stat-3.2.1.jar</fromFile>
    14                     <!-- 部署目录 -->
    15                     <url>scp://root@10.1.108.65/var/lib/hadoop-hdfs</url>
    16                 </configuration>
    17             </plugin>


    4. 在命令行执行:
     mvn clean package wagon:sshexec wagon:upload-single 

    5. plug-in绑定生命周期方式
    但是这种方式还需要在命令行指定插件以及目标(goals),还可以将插件绑定到Maven的生命周期中,让其自动执行:

     1 <plugins>
     2             <plugin>
     3                 <groupId>org.codehaus.mojo</groupId>
     4                 <artifactId>wagon-maven-plugin</artifactId>
     5                 <version>1.0</version>
     6                 <executions>
     7                     <execution>
     8                         <id>upload-deploy</id>
     9                         <!-- 运行package打包的同时运行upload-single和sshexec -->
    10                         <phase>package</phase>
    11                         <goals>
    12                             <goal>sshexec</goal>
    13                             <goal>upload-single</goal>
    14                         </goals>
    15                         <configuration>
    16                             <serverId>deploy_server_65</serverId>
    17                             <!-- 需要部署的文件 -->
    18                             <fromFile>target/bigdata-stat-3.2.1.jar</fromFile>
    19                             <!-- 部署目录 -->
    20                             <url>scp://root@10.1.108.65/var/lib/hadoop-hdfs</url>
    21                             <commands>
    22                                 <!-- 删除之前文件 -->
    23                                 <command>rm -rf /var/lib/hadoop-hdfs/bigdata-stat-3.2.1.jar</command>
    24                             </commands>
    25                             <displayCommandOutputs>true</displayCommandOutputs>
    26                         </configuration>
    27                     </execution>
    28                 </executions>
    29             </plugin>
    30 </plugins>

      可以看到,增加了executors/executor节点,并在节点中通过phase节点了plugin执行的阶段以及<goals>节点指令了执行的目标。

  • 相关阅读:
    「JXOI2018」游戏
    「CTSC2018」假面
    CodeForces
    CodeForces
    [Lydsy1710月赛] 小B的数字
    OpenJ_Bailian
    [SDOI2010] 地精部落
    CodeForces
    CodeForces
    [NOI2009] 管道取珠
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7862571.html
Copyright © 2020-2023  润新知