Maven 集成 Wagon

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

pom.xml 中整合 wagon

配置profiles


   
      local
      
         
         
         
         local
      
      
         true
      
   
   
      dev
      
         服务账号
         服务 密码
         服务 IP
         dev
      
   
   
      prod
      
         
         
         
         prod
      
   

profiles 在 idea中的视图效果

Maven 集成 Wagon_第1张图片

集成 wagon 插件



   
      org.apache.maven.wagon
      wagon-ssh
      2.8
   

集成 timestamp 插件


   org.codehaus.mojo
   build-helper-maven-plugin
   1.9.1
   
      
         timestamp-property
         
            timestamp-property
         
      
   
   
      current.time
      yyyyMMdd-HHmmss
      GMT+8
   

集成插件命令脚本

第一种方式:


   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
   

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

Maven 集成 Wagon_第2张图片

第二种方式

这种打包方式, 切环境 如果没有配置 标签参数时,在执行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
                  
               
            
         

注意: 细节点


                     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 
                     

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

你可能感兴趣的:(springboot,Java,框架,maven,java,intellij-idea)