wagon-maven-plugin插件使用

在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器。实际上这些繁琐的步骤可以通过一个Maven插件wagon-maven-plugin来自动完成。
配置Linux服务器用户名和密码

为了让wagon-maven-plugin插件能SSH连上Linux服务器,首先需要在Maven的配置文件settings.xml中配置好server的用户名和密码。


    
        linux-server-dev
        root
        123456
    


文件上传到服务器

Maven项目可使用 mvn package 指令打包,打包完成后包位于target目录下,要想在远程服务器上部署,首先要将包上传到服务器。在项目的pom.xml中配置wagon-maven-plugin插件:
 


    
        
            org.apache.maven.wagon
            wagon-ssh
            2.8
        
    
    
        
            org.codehaus.mojo
            wagon-maven-plugin
            1.0
            
                linux-server-dev
                
                target/project_name.jar
                
                scp://192.168.1.1/home/project_name/
                
            
        
    

配置完成后,运行命令:

mvn clean package wagon:upload-single


重启服务

部署项目不仅要把包传上服务器,而且还需要执行一些指令来重启服务。通常我们会把重启命令写入到一个脚本中,然后通过执行脚本来重启服务。
新建 restart.sh 文件,一般把改文件放在当前项目下,因为每个项目的启动脚本都不一样
#!/bin/bash

ps -ef | grep a8admin | grep qa |awk '{print $2}' |xargs kill -9
sleep 1
nohup java -jar -Dspring.profiles.active=qa -Dserver.port=8083 a8admin-api-1.0-RELEASE.jar >> 8083.log 2>&1 &
tail -f 8083.log

 


    
        
            org.apache.maven.wagon
            wagon-ssh
            2.8
        
    
    
        
            org.codehaus.mojo
            wagon-maven-plugin
            1.0
            
                linux-server-dev
                target/project_name.jar
                scp://192.168.20.128/home/project_name/
                
                    sh ./restart.sh
                
                
                true
            
        
    

配置完成后,运行命令:

mvn clean package wagon:upload-single wagon:sshexec

上传war包并启动Tomcat

如果是Web应用,可使用服务器上的Tomcat来部署。
 


    
        
            org.apache.maven.wagon
            wagon-ssh
            2.8
        
    
    
        
            org.codehaus.mojo
            wagon-maven-plugin
            1.0
            
                linux-server-dev
                target/project_name.war
                
                scp://192.168.20.128/home/project_name/
                
                    
                    sh /home/tomcat/apache-tomcat-7.0.55/bin/shutdown.sh
                    rm -rf /home/tomcat/apache-tomcat-7.0.55/webapps/javawebdeploy
                    sh /home/tomcat/apache-tomcat-7.0.55/bin/startup.sh
                
                true
            
        
    

完成以上配置后,同样可通过

 mvn clean package wagon:upload-single wagon:sshexec

命令自动部署。
配置execution

如果你觉得 mvn clean package wagon:upload-single wagon:sshexec 命令太长了不好记,那么可以配置execution,在运行package打包的同时运行upload-single和sshexec。
 


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

配置完成后,即可使用

mvn clean package 

来代替

mvn clean package wagon:upload-single wagon:sshexec

 

你可能感兴趣的:(开发工具安装及其相关)