首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「Jenkins+Git+Maven+Shell+Tomcat持续集成」经典教程

现在软件开发追求的是效率以及质量,Jenkins使得自动化成为可能!...亮点 1.采用shell自定义脚本,控制集成部署环境更加方便灵活 2.精简war包中的lib包,常驻tomcat里,减少war包传输时间 3.Jenkins 用户权限管理,不让淘气鬼乱动 4.构建失败发邮件通知相关人员解决...5.自动按天备份war包,Jenkins配置备份以及版本控制化 环境 Ubuntu 14.10 (GNU/Linux 3.16.0-33-generic x86_64) 准备工作 1.Git版本控制服务器...2.Tomcat发布服务器 3.Jenkins服务器(提前安装好Maven,Git,Jdk) 实验时可以在同一台机器配置,但是生产不建议,一台机器挂了,所有服务器都挂了。...,本文不做重点),运行Jenkins的服务器配置最好内存1G以上,因为后续会加入一些Jenkins插件,有一些会比较占用内存,导致Jenkins启动不了。

51410

「Jenkins+Git+Maven+Shell+Tomcat持续集成」经典教程

现在软件开发追求的是效率以及质量,Jenkins使得自动化成为可能!...亮点 1.采用shell自定义脚本,控制集成部署环境更加方便灵活 2.精简war包中的lib包,常驻tomcat里,减少war包传输时间 3.Jenkins 用户权限管理,不让淘气鬼乱动 4.构建失败发邮件通知相关人员解决...5.自动按天备份war包,Jenkins配置备份以及版本控制化 环境 Ubuntu 14.10 (GNU/Linux 3.16.0-33-generic x86_64) 准备工作 1.Git版本控制服务器...2.Tomcat发布服务器 3.Jenkins服务器(提前安装好Maven,Git,Jdk) 实验时可以在同一台机器配置,但是生产不建议,一台机器挂了,所有服务器都挂了。...,本文不做重点),运行Jenkins的服务器配置最好内存1G以上,因为后续会加入一些Jenkins插件,有一些会比较占用内存,导致Jenkins启动不了。

84030
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Tomcat常见问题合集记录

    [TOC] 问题0.Tomcat指定Java版本运行 解决方法:在Tomcat里的bin中的setclasspath.bat或者setclasspath.sh开头添加设置环境变量; #Windows..., NewSize为JVM启动时YOUNG的内存大小(young内存为堆中的新生代,保存刚实列化的对象); MaxNewSize为最大可占用的YOUNG内存大小。...问题4.Tomcat中利用war包部署避免访问路径必须加上项目名称 问题描述:当我们打包好一个Springboot项目导出message.war并且进行导入的部署,这时在tomcat中的Webapp多了一个...,进入tomcat下名的bin目录查看service.bat文件是否存在 #输入命令 service.bat install '服务名'; services.msc #看服务管理器,看是否添加好了...; 描述:常规的使用将宿主机webapps目录直接挂载至容器的webapps并且启动容器后发现非ROOT.war解压运行后访问404; docker run -d -p 8080:8080 -v /HMK

    95610

    catalina.home catalina.base 区别

    以Tomcat6.0为例,其Tomcat目 录结构如下: bin (运行脚本) conf (配置文件) lib (核心库文件) logs (日志目录) temp (临时目录) webapps (自动装载的应用程序的目录...明白了上述关系就容易理解catalina.home和catalina.base的用途了: catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。...catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。...仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。...附:多实例tomcat公用工作目录实现(Linux) 在一台服务器上,可以运行多个tomcat实例,不需要安装多个tomcat,可以采用不同的用户。

    1.1K80

    万字详解 Tomcat 组成与工作原理

    命名服务将名称和对象联系起来,使得我们可以用名称访问对象,目录服务也是一种命名 服务,对象不但有名称,还有属性。Tomcat 中可以使用 JNDI 定义数据源、配置信息,用于开发与部署的分离。.../webapps/ Server.xml 配置 Context 元素,指定 docBase,元素,指定 Web 应用的路径 自定义配置在 $catalina.base/EngineName/HostName...,从 Request 对象获取请求参数,处理完毕之后将结果通过 response 对象返回给调用方 当 Server 不再需要 Servlet 时(一般当 Server 关闭时),Server 调用 Servlet...;page 相关的属性会做为 JSP 的属性,影响的是解析和请求处理时的行为 JSP 行为:不同的行为有不同的处理方式,jsp:useBean 为例,会从 pageContext 根据 scope 的...(AJP)是一种二进制协议,专门代理从 Web 服务器到位于后端的应用程序服务器的入站请求 阻塞 IO 非阻塞 IO IO 多路复用 阻塞与非阻塞的区别在于进行读操作和写操作的系统调用时,如果此时内核态没有数据可读或者没有缓冲空间可写时

    3.2K10

    Tomcat日志管理(一)

    从 Tomcat 6.0开始,Tomcat 内的Apache Commons Logging 日志库默认使用 java.util.logging 日志框架实现,如果你想要使用其他的日志框架,只需用对应框架的...选择使用其他的日志框架,如log4j 需要注意的是调用 Java Servlets logging API打印的日志会被 Tomcat 内部日志系统接管,开发者不能设置日志的打印级别: 调用 ServletContext.log...类,它能够区别出运行在 Tomcat 容器中的多个不同的Web应用以及它们的类加载器,从而可以支持不同的应用使用各自独立的日志配置。...你可以从 Tomcat 全局和 Web 应用两个层面对 Tomcat 默认的JULI进行日志配置: 全局配置通常使用 ${catalina.base}/conf/logging.properties...默认情况下,日志的记录文件是会被永久保存在服务器上的,可以使用 handlerName.maxDays 属性来配置日志文件可保留的最大天数,设置<=0则会永久保存。

    98620

    Tomcat 的使用及原理分析(IDEA版)

    5、JSP 引擎 六、总结 … 一、预备知识 这部分内容时理解 Tomcat 的基础,主要介绍服务器的概念。...动态资源不能够自动运行,他们只能运行在 Web 服务器软件中。 所以也被称为 Web容器,也就是说动态资源必须在容器中才能运行。 而我们要学习的 Tomcat 就是这样一款 Web 服务器软件。...ip:8080 访问别人 5、Tomcat 启动可能遇到的问题 黑窗口一闪而过 原因: 没有正确配置JAVA_HOME环境变量 解决方案:正确配置JAVA_HOME环境变量 启动报错 暴力法:找到占用的端口号...命名服务将名称和对象联系起来,使得我们可以用名称访问对象,目录服务也是一种命名服务,对象不但有名称,还有属性。Tomcat 中可以使用 JNDI 定义数据源、配置信息,用于开发与部署的分离。...doXXX 方法) doXXX 方法内为业务逻辑实现,从 Request 对象获取请求参数,处理完毕之后将结果通过 response 对象返回给调用方 当 Server 不再需要 Servlet 时(

    1.5K32

    CVE-2020-9484:Tomcat Session 反序列化复现

    用户可以通过 org.apache.catalina.session.FileStore 的一个 LFI 漏洞来读取服务器上任意以 .session结尾的文件。...影响版本 Apache Tomcat: 10.0.0-M1 to 10.0.0-M4 9.0.0.M1 to 9.0.34 8.5.0 to 8.5.54 7.0.0 to 7.0.103 0x04 环境搭建...0x05 漏洞复现 目标是在服务器上执行命令 touch /tmp/2333,假设 .session文件已经被上传到服务器的已知位置。...0x06 漏洞分析 此处使用 Tomcat 10.0.0-M4 来做分析 这里主要是 FileStore 的 LFI 漏洞可以反序列化任意路径上的 .session 文件, 如果同时存在 文件上传漏洞的话就是...首先看 FileStore 源码, 当用户请求里带有 JSESSIONID 时 会运行存在问题的 load 方法 public Session load(String id) throws ClassNotFoundException

    2.2K20

    Redis + Tomcat + Nginx 集群实现 Session 共享

    Add tomcat system property "catalina.base" * catalina.base="TOMCAT_LOCATION" 就是配置一个环境变量,和Jdk...配置的环境变量一样,需要配置一个catalina.base的环境变量,值为TOMCAT_LOCATION 如下: 第三步: 3....下面的配置可以解决2个Tomcat服务器集群,当一台服务器挂掉(宕机)后,请求变得很慢的问题。...1.12.2 (3)启动服务:(启动一闪而过,但打开进程管理器能看到是已经启动的) start nginx 关闭服务的命令:nginx -s stop 重新加载的命令:nginx -s reload,修改配置文件后...在访问后缀为.jvm9400时,把端口9400的tomcat关掉,再次刷新访问,sessionId一样不变,由此可见,2个tomcat的sessionId是共享的。

    1.3K40

    知行之桥EDI系统2022版Tomcat部署

    1.首先需要下载Tomcat,可在Tomcat官网获取,本部署步骤以apache-tomcat-9.0.67.tar.gz为例,通过XFTP将该包放在服务器上的指定位置,如/opt/test进入/opt.../test文件夹后,在命令行执行以下命令对该包进行解压缩tar -zxvf apache-tomcat-9.0.67.tar.gz2.请首先确保服务器已经安装了Java环境,输入vim /etc/profile...4.在/conf文件夹下找到catalina.properties文件并编辑,在文件内容最后新增如下内容:java.security.auth.login.config=${catalina.base.../startup.sh启动服务访问知行之桥2022服务成功启动后,浏览器访问IP:端口号/arc访问页面,其中arc是webapps目录下war包的名称,如此时不能成功访问,请排查是否是Tomcat的端口被占用或端口未被打开的原因...注意事项1.服务器重启后,Tomcat默认是关闭的,需要先查看Tomcat的运行状态,确认Tomcat成功运行后才能正常启动知行之桥。

    42140

    探秘Tomcat——启动篇

    tomcat作为一款web服务器本身很复杂,代码量也很大,但是模块化很强,最核心的模块还是连接器Connector和容器Container。具体请看下图: 从图中可以看出 a....综上举一个例子,现在有A软件公司,共有三个部门——研发部门、财务部门、技术支持部门 其中每个部门相当于一个service,在每个service中可以提供不同的服务,比如研发部门可以提供功能开发服务、功能测试服务...、持续集成部署服务、美工服务等。...1.启动入口   在代码中,tomcat的启动是通过运行org.apache.catalina.startup.Bootstrap类的main方法来启动服务的 public static void main...根据具体的需求完成服务的加载、启动和关闭的功能 备注:这里运行或调试main方法的时候需要在VM arguments中填入类似-Dcatalina.home="C:\Users\Administrator

    2.1K70

    SpringCloud-Eureka【server服务高可用搭建】

    在分布式环境中Eureka做为注册中心存在,承担着各个服务的注册与发现,是非常核心的组件,所以如果Eureka环境挂了,那么我们的整个系统也就不稳定了,所以我们要保证我们的Eureka是高可用的,本文来介绍下...单节点的Eureka服务器上篇文章我们已经介绍过了,所以本文就重点突出集群环境要配置的地方。 ?...1.配置文件   在搭建 Eureka 集群时,需要添加多个配置文件,并且使用 SpringBoot 的多环境配置方式。集群中需要多少节点就添加多少个配置文件。 ?...--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径--> catalina.base}/logs/"...二、集群环境搭建 部署环境:需要安装 jdk1.8,正确配置环境变量。 注意:需要关闭 linux 的防火墙,或者是开放 8761 端口 ?

    70460

    从零开始手写Tomcat的教程8节----加载器

    ,感兴趣的小伙伴可以去了解一下,主要是处理权限管理的,比如对某个文件,资源是否有读写权限等 ---- 开启新线程执行类的重新载入 因为检查每个资源是否改动,以及重新加载的过程耗时可能会比较长,并且该过程与当前线程能否继续运行也没有之间关联...---- ---- WebappClassLoader类 ---- 类缓存 这样说明了在JVM中提到的方法区进行垃圾回收时执行类卸载动作时,一定要求当前类的class和实例对象不被引用,...应用程序目录名称为myApp,其次还需要通知StandardContext实例到哪里查找应用程序目录,需要设置一个"catalina.base"的系统属性,其值为"user.dir"属性的值,如下所示:...System.setProperty("catalina.base",System.getProperty("user.dir")); 事实上,上面代码就是BootStrap类的main...,因此会根据应用程序的目录而发生改变,如果指定绝对路径,则不会改变,但是一般都是相对路径 ---- 总结 本小节到此基本就结束了,现在让我们再来回顾一下开头提出的问题,这里只回答第一个问题,

    24610
    领券