1.配置tomcat-users.xml

首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml):

<role rolename="tomcat"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script" />
<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="tomcat,manager,manager-script,admin-gui" />
<user username="tomcat" password="tomcat" roles="manager-gui" />

2.配置maven setting.xml

修改Maven的setting.xml(默认是C:\Users\用户名.m2\settings.xml),在节点下添加

<server>
<id>tomcat7</id>
<username>admin</username>
<password>admin</password>
</server>

3.配置pom.xml

这里我是要部署到Tomcat 根目录,所以这里将path写成ROOT了

       <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://127.0.0.1:8080/manager/text</url>
<server>tomcat7</server>
<path>/ROOT</path>
<charset>utf8</charset>
<update>true</update>
</configuration>
</plugin>
<!-- 添加相关依赖 -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.5.4</version>
</dependency>

4.修改ip访问权限

将 /apache-tomcat-8.5.4/webapps/manager/META-INF/context.xml中的,ip限制去掉

<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>

5.执行部署命令

在项目根目录下执行

//第一次
mvn tomcat7:deploy
//之后
mvn tomcat7:redeploy
//这里我要求先重新打包,并跳过测试,再部署
//第一次
mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:deploy //之后
mvn package -Pdevelop -Dmaven.skip.test=true tomcat7:redeploy

注意事项:

1.需要将远程机器的tomcat先开启,这里是热部署

2.可以在本地先调试好,再到远程去执行

参考链接:

1.http://www.cnblogs.com/dao0/p/4329739.html

2.https://www.oschina.net/question/1454123_2184236

【经验】Maven Tomcat8+ 实现自动化部署的更多相关文章

  1. Jenkins+Ant/maven+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

    Jenkins+Ant+Svn实现自动化部署,编译,运行,测试结果自动邮件通知

  2. Maven Tomcat7+ 实现自动化部署

    首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): <role rolename="tomcat"/> &l ...

  3. jenkins+maven+Tomcat8实现热部署

    个人记录 公司使用jenkins实现代码自动更新并部署 采用jenkins安装方式为war包,版本为:2.138.3,启动方式为Tomcat启动jenkins, 该博客操作步骤有些地方进行简化,各位需 ...

  4. Jenkins+Maven+SVN+Nexus自动化部署代码实例

    本文接着上篇安装jenkins,安装相关插件,使用我们公司持续集成的测试环境实例进行演示 ========= 完美的分割线 ========== 1.安装jenkins的maven插件 如果要使用je ...

  5. jenkins 自动化部署php

    0.jenkins配置git部分可查看运维中的maven+jenkins+tomcat自动化部署 1. 安装插件,并设置ssh   安装插件 配置全局SSH配置: 2.创建php部署项目 ① 创建自由 ...

  6. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

  7. Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记

    前言    持续集成这个概念已经成为软件开发的主流,可以更频繁的进行测试,尽早发现问题并提示.自动化部署就更不用说了,可以加快部署速度,并可以有效减少人为操作的失误.之前一直没有把这个做起来,最近的新 ...

  8. Linux下的Jenkins+Tomcat+Maven+Gitlab+Shell环境的搭建使用(jenkins自动化部署)

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  9. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

随机推荐

  1. SVN Cornerstone 报错信息 xcodeproj cannot be opened because the project file cannot be parsed.

    svn点击update 之后,打开xcode工程文件,会出现  xxx..xcodeproj  cannot be opened becausethe project file cannot be p ...

  2. python多进程提高cpu利用率

    cpu参数: 1个物理cpu,2个逻辑cpu(超线程),单核 具体 http://blog.csdn.net/dba_waterbin/article/details/8644626   物理CPU. ...

  3. java httpclient cookie

    BasicCookieStore cookieStore = new BasicCookieStore();BasicClientCookie cookie = new BasicClientCook ...

  4. Android test---CTS

    转载 1.下载最新的CTS download 2.准备工作 3.启动CTS测试 3.1 在控制台进入目录android-cts,目录android-cts下有三个文件夹,其中一个是tools. 3.2 ...

  5. Ubuntu下使用SVN

      SVN作为日常开发中不可缺少的工具,今天终于开始在Ubuntu下使用了. 1.首先需要安装SVN.Ubuntu下的SVN安装十分简单,sudo apt-get install subversion ...

  6. 阅读{django-restframework}源码[generics.py]学习笔记

    首先django-restframework是基于django的一个框架.   mixins.py中开头是这样写的: Basic building blocks for generic class b ...

  7. Ninject之旅之九:Ninject上下文绑定(附程序下载)

    摘要 既然在插件模型里,每一个服务类型可以被映射到多个实现,绑定方法不用决定要返回哪个实现.因为kernel应该返回所有的实现.然而,上下文绑定是多个绑定场景,在这个场景里,kernel需要根据给定的 ...

  8. isMemberOfClass和isKindOfClass的区别

    1.isMemberOfClass:作用:用于判断一个对象是否属于当前这个类   Person *rose = [[Person alloc] init];          if ([rose is ...

  9. nginx的优化

    Nginx 优化 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/P ...

  10. XidianOJ 1195 Industry of Orz Pandas

    --正文 贪心 排序好慢慢找就好 #include <iostream> #include <cstring> #include <cstdio> #include ...