如何使用wagon插件来解放你的双手

问题

有什么用?

怎么用?

有什么优势?


wagon是maven插件中的一种,其作用是去除我们部署时繁复的步骤,不用再手动上传jar包或者war包到指定服务器路径下面。

使用

pom.xml

    
        
            
                org.codehaus.mojo
                wagon-maven-plugin
                1.0
                
                  
                    demo-test
                  
                    target/
                  
                    ${project.artifactId}.jar
                  
                    scp://172.168.1.11:22/opt/micservice
                  
                    apps/${project.artifactId}
                  
                    
                        cd /opt/micservice/ ; ./dev restart ${project.artifactId} test
                    
                  
                    true
                
            
        
        
            
                org.apache.maven.wagon
                wagon-ssh
                2.8
            
        
    

setting.xml


    
        与上面的serverId一致
        demo-test
        username
        password
    

配置完成后,运行命令:

mvn clean package wagon:upload wagon:sshexec

wagon:upload-single是上传jar或者war包

wagon:sshexec是执行配置中的shell命令

如果不想执行上面的这么长串命令,也可以使用execution


    
        
            org.apache.maven.wagon
            wagon-ssh
            2.8
        
    
    
        
            org.codehaus.mojo
            wagon-maven-plugin
            1.0
            
                
                    upload-deploy
                    
                    package
                    
                        upload-single
                        sshexec
                    
                    
                        mylinuxserver
                        target/javawebdeploy.war
                        scp://192.168.20.128/coder/tomcat/apache-tomcat-7.0.55/webapps
                        
                            sh /coder/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
                            rm -rf /coder/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
                            sh /coder/tomcat/apache-tomcat-7.0.55/bin/startup.sh
                        
                        true
                    
                
            
        
    

以上mvn clean package 来代替 mvn clean package wagon:upload-single wagon:sshexec,但个人觉得不是特别适合开发时期,我觉得还是使用命令的方式执行,或者通过自己写一个shell文件,需要的时候执行一下即可。

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

优势

  • 去除了发布的重复动作,直接一个命令就可以完成

  • 将人为的错误降低了,工作更加高效

链接

官方文档

更多内容可以关注微信公众号,或者访问AppZone网站

你可能感兴趣的:(apache,maven,java)