wagon 您所在的位置:网站首页 maven-install-plugins插件pom wagon

wagon

2024-07-06 14:56| 来源: 网络整理| 查看: 265

在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要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 -f pom.xml

上传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

 

还有可以直接对svn,git上的代码编译,使用:Maven中为我们集成了软件配置管理的(SCM:Software Configuration Management)功能

scm命令:

scm:branch - branch the project(创建项目的分支) scm:validate - validate the scm information in the pom(校验SCM的配置信息) scm:add - command to add file(增加一个文件) scm:unedit - command to stop editing the working copy(停止编辑当前COPY) scm:export - command to get a fresh exported copy(拉一个全新的分支) scm:bootstrap - command to checkout and build a project(checkout并编译工程) scm:changelog - command to show the source code revisions(显示源码版本) scm:list - command for get the list of project files(列出工程的文件) scm:checkin - command for commiting changes(提交变更) scm:checkout - command for getting the source code(获取源码) scm:status - command for showing the scm status of the working copy(获取本地项目的状态) scm:update - command for updating the working copy with the latest changes(从服务器获取最新的版本) scm:diff - command for showing the difference of the working copy with the remote one(比较本地与远程服务器的差异) scm:update-subprojects - command for updating all projects in a multi project build(更新子项目) scm:edit - command for starting edit on the working copy(编辑) scm:tag - command for tagging a certain revision(打标签)

配置及使用

... jar 1.0-SNAPSHOT SCM Sample Project http://somecompany.com scm:svn:http://somerepository.com/svn_repo/trunk scm:svn:https://somerepository.com/svn_repo/trunk http://somerepository.com/view.cvs ...

SCM支持的连接类型

SCM支持两种连接类型:connection 及 developerConnection。

以下是一个连接类型为connection的配置示例:

... [...] org.apache.maven.plugins maven-scm-plugin 1.8.1 connection ...


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有