• Maven 集成 Wagon


    提高 本地测试打包测试服 且重启动的效率

    pom.xml 中整合 wagon

    配置profiles

    
       
          local
          
             
             
             
             local
          
          
             true
          
       
       
          dev
          
             服务账号
             服务 密码
             服务 IP
             dev
          
       
       
          prod
          
             
             
             
             prod
          
       
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    profiles 在 idea中的视图效果

    在这里插入图片描述

    集成 wagon 插件

    
    
       
          org.apache.maven.wagon
          wagon-ssh
          2.8
       
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    集成 timestamp 插件

    
       org.codehaus.mojo
       build-helper-maven-plugin
       1.9.1
       
          
             timestamp-property
             
                timestamp-property
             
          
       
       
          current.time
          yyyyMMdd-HHmmss
          GMT+8
       
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    集成插件命令脚本

    第一种方式:

    
       org.codehaus.mojo
       wagon-maven-plugin
       1.0
       
          <!– 拷贝目录下(执行目录) target目录下的jar包 –>
          target/${project.artifactId}-${project.version}.jar
          <!– 使用scp传输文件 指定服务端 用户名密码 ip 并指定目标文件夹–>
          scp://${user}:${password}@${ip}/root/ppr
          <!– 命令列表 可以在传输完成后执行 –>
          
             sh /root/服务 /bin/start-jar.sh restart
          
          <!– 显示运行命令的输出结果 –>
          true
       
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    package 之后, 依次执行 wagon 命令, 用哪个服务需要手动执行 其命令

    在这里插入图片描述

    第二种方式

    这种打包方式, 切环境 如果没有配置 标签参数时,在执行wagon插件时,将报错,但 不影响正确的jar包的环境
    标签 ${} 相关配置在 配置的 下 下 中获取

    
                org.codehaus.mojo
                wagon-maven-plugin
                1.0
                
                
                   
                      upload-deploy
                      
                      package
                      
                         upload-single
                         sshexec
                      
                      
                         
                         target/${project.artifactId}-${project.version}.jar
    
                         
                         scp://${account}:${password}@${ip}/root/服务 
                         
                         
                            mv /root/服务 /lib/${project.artifactId}-${project.version}.jar /root/服务 /lib/${project.artifactId}-${project.version}.${current.time}.jar
                            cp /root/ppr/${project.artifactId}-${project.version}.jar  /root/服务 /lib/${project.artifactId}-${project.version}.jar
                            sh /root/服务 /bin/shutdown.sh 
                            cd /root/服务 /bin  && sh startzl.sh 
                         
                         
                         true
                      
                   
                
             
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44

    注意: 细节点

    
                         scp://${account}:${password}@${ip}/root/服务 
                         
                         
                            mv /root/服务 /lib/${project.artifactId}-${project.version}.jar /root/服务 /lib/${project.artifactId}-${project.version}.${current.time}.jar
                            cp /root/ppr/${project.artifactId}-${project.version}.jar  /root/服务 /lib/${project.artifactId}-${project.version}.jar
                            sh /root/服务 /bin/shutdown.sh 
                            cd /root/服务 /bin  && sh startzl.sh 
                         
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    url 标签 /root/ppr 是你的jar在测试服的路径
    command 标签是 日常部署jar到测试服,所重复操作的命令顺序

    解读标签

    注: 一定到保证jar名和 脚本中jar名一致。
    package 到 /root/服务 目录下
    mv 服务 /lib 目录下 的 jar包 更改名称 为 jar.${current.time}.jar
    cp 打包到 /root/服务 目录下的 jar 包,复制到 /root/服务 /lib/ 目录下
    sh 执行 /root/服务 /bin/ shutdown.sh, 暂停服务
    cd /root/服务 /bin sh startzl.sh , 启动服务

    也可以设置日志,查看

    tail -f nohup.log 服务/bin 目录下 记录的日志 是 nohup.log

  • 相关阅读:
    Luatos Air700 改变BL0942串口波特率
    二叉树的最大深度
    【软件测试】8年资深测试说出来我们的心声......
    主流报表开发工具有FastReport.NET V2022.3正式发布——支持SkiaSharp
    Binder机制总结笔记
    【软件测试】男生vs女生,谁更加适合?没有你发现不了的bug......
    Qt数据库之QSqlQueryModel
    林沛满-Wireshark的提示
    Java Bean之Lombok踩坑
    Nginx实战:故障处理_后端服务正常,nginx偶发502(Bad Gateway)
  • 原文地址:https://blog.csdn.net/qq_42809896/article/details/126712783