zoukankan      html  css  js  c++  java
  • 记录解决自动部署系统的发布不成功的问题

    此文已由作者叶富宏授权网易云社区发布。

    欢迎访问网易云社区,了解更多网易技术产品运营经验。


     今天需求提测遇到件怪事,QA在测试环境发布我提交的分支后,不能打开页面。第一感觉是QA发布过程出问题了,因为我本地测过没有问题才提测的。经过接下来的一系列验证,该分支本地依旧能发布成功并且访问,测试环境确实有问题!

       自动部署系统确实方便,一键发布,但是出问题就比较慌了。下面是我查找问题的过程记录一下,不希望大家遇上这种问题,如果遇上了,希望对大家有借鉴的作用。

       首先我查看了一下,测试环境的发布日志:


    看到日志的时候,心里也是有点虚,查了一下“Illegal access: this web application instance has been stopped already”,发现这个异常的原因:是在关闭应用服务器或重新部署装载项目失败会发生。当应用程序卸载时,并不会关闭所有的线程。当tomcat已经关闭了其类加载器后,一些线程依然会继续运行,这样就导致出错,这些错误就会被到日志文件里。(http://blog.sina.com.cn/s/blog_7fd593970101eyqt.html)也就是说这段日志其实毛用都没有。

    继续往上查看日志发现:

    发现有个Error,但是没有关于这个Error的任何信息。

    根据这个错误信息,在网上搜索了一下,找到了两篇文章,介绍如何把错误信息详细打印出来:

    http://stackoverflow.com/questions/12873674/org-apache-catalina-core-standardcontext-startinternal-severe-error-listenersta http://grails.1312388.n4.nabble.com/Deployment-problems-td4628710.html

    方法:在WEB-INF/classes目录下新建一个文件叫logging.properties,内容如下:



    handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

    org.apache.juli.FileHandler.level = FINE

    org.apache.juli.FileHandler.directory = ${catalina.base}/logs

    org.apache.juli.FileHandler.prefix = servlet-examples.

    java.util.logging.ConsoleHandler.level = FINE

    java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

    照着试了一下,发现确实有效,错误信息如下,其实只要错误打印信息出来了,问题也就解决了。



    最后的问题是:开发过程中新增了一个dubbo接口,在本地的配置文件里面有接口group的配置,但是在测试环境的配置文件里面忘记了加上。

    其实最开始的时候心里也知道大概是测试环境的配置文件有问题(因为本地是正常的),也对配置文件进行了检查,不过各种配置项太多了,最终还是没有找到问题。

    虽然最后找到的问题原因有些乌龙,不过也算是一次不错的经历。


    免费体验云安全(易盾)内容安全、验证码等服务

    更多网易技术、产品、运营经验分享请点击


    相关文章:
    【推荐】 邪恶的三位一体:机器学习、黑暗网络和网络犯罪
    【推荐】 数据分析思路的套路攻略
    【推荐】 使用Phaser开发你的第一个H5游戏(一)

  • 相关阅读:
    数据访问(从数据库中访问数据)
    加载类、设计模式(单例模式和工厂模式)
    面向对象之静态
    面向对象三大特性之继承和多态
    面向对象三大特性之封装
    面向对象基础知识
    mysql下载与安装过程
    Idea添加依赖的步骤:
    Java JDBC 在IDEA环境下连接MySQL
    JAVA中集合HashMap嵌套联系
  • 原文地址:https://www.cnblogs.com/163yun/p/9876976.html
Copyright © 2011-2022 走看看