zoukankan      html  css  js  c++  java
  • [原][问题解决]常见问题的5种解决办法(由Jenkins问题解决谈起)

    Jenkins失败变红,查看控制台输出信息,发现错误如下:

    [xUnit] [INFO] - Starting to record.
    
    [xUnit] [INFO] - Processing JUnit
    
    [xUnit] [INFO] - [JUnit] - 1 test report file(s) were found with the pattern 'report/ut_results.xml' relative to '/var/jenkins-FS-root/workspace/P_ENMC' for the testing framework 'JUnit'.
    
    [xUnit] [ERROR] - Clock on this slave is out of sync with the master, and therefore 
    
    I can't figure out what test results are new and what are old.
    
    Please keep the slave clock in sync with the master.
    
    [xUnit] [INFO] - Setting the build status to FAILURE
    
    [xUnit] [INFO] - Stopping recording.
    
    Build step 'Publish xUnit test result report' changed build result to FAILURE
    
    Skipping Cobertura coverage report as build was not UNSTABLE or better ...
    
    FTP: Current build result is [FAILURE], not going to run.
    
    Triggering a new build of M_JeninsMetrix #7113
    
    Finished: FAILURE
    注意到其中这句话:Please keep the slave clock in sync with the master。jenkins提示说时间需要保持同步,那么这就是问题的根源。我们检查一下两台机器的时间,发现实际还真是不相同,于是date修改一下:date 050615082013.00,再次运行,正确。

    于是解决方案就出来了:修改slave node的时间,使之与master节点保持相同。

    验证:再次构建运行工程,发现问题得以解决。

    对的,也确实就是这么简单。

    其实我不是CM,但我在解决jenkins的问题;我也不是运维,我却在解决Openstack运维的问题;我更不是PM,大家知道,我们的PM一般都是管管人开开会就完事,不做技术的;我也不是支持或其他,我和你一样,也只是一个普通的技术人员。

    我觉得在一个团队中,当自己遇到问题时候,我们可以很轻松的解决掉,别人遇到问题的时候,我们可以帮助其解决问题,并能分享出来一些解决方案,这才是技术人的价值;遇到问题不可怕,可怕的是遇到问题就喊开发,打断其正在写代码的思路,往往会造成更多潜在的问题。

    很多问题看起来一大堆报错信息,而实际上,只要我们抓住要害,根本原因有时候并不是很麻烦。

    像之前我在其他问题解决办法中反复提到的一些思想:类似医生的“望闻问切”,首先简单看一下问题,猜测可能的原因,然后根据自己的猜测,稍做验证,如果猜对了,那问题就解决了,如果没猜对,那就需要在摸索思考才能解决。往往可以这么做:

    1.检查问题:

    遇到问题不要紧,首先要看错误日志,根据错误信息进行分析,抓住关键点,针对要害一步一步的追踪,不断的刨根问底之后,基本就拨云见雾,真相就在眼前了。

    2.判断问题:

    有时候遇到一些问题,看似很棘手,不知从何下手,不过不要紧,可以问下制造出这个问题的“罪魁祸首”操作者,他做了什么操作之后产生这样的结果?目前,相对人而言,计算机还是比较笨的,它是比较客观的,你给他输入什么,他就会根据预设的程序给你return什么。而往往输入输出这个I/O是有一定关系的,所以,当我们知道操作者的输入,会对解决问题有很大的帮助,因为我们可以预估输出,这个输出和我们期望的有什么不同。而如果是长时间运行出来的结果,另外操作者自己忘记了做什么导致的问题,那最简单的办法是在其中搜索“error”或者“exception”,找到这些关键字后面的日志信息,这才算是挖到阻挡我们的石头。

    3.思考问题:

    根据Error的信息,往往可以看出端倪,接着往下走,做一些深究,往往可以解决问题;

    4.查找借鉴:

    另外,有人会说有时候会遇到一些错误信息,从未见过,也分析不明白,怎么办?确实存在这种问题。这时候别忘了,我们天然最好的老师Google还在呢(当然可能被河蟹,但也有办法,可以FQ啊,如果你说不会FQ,那么你可以稍等一下就可以继续访问,或者试试bing、youdao、soso等,当然我不推荐使用baidu,除非实在没办法的情况下)

    5.请教高人:

    当然最后,还有一句话“三人行,必有我师”,如果单凭个人解决不了,拖的时间过长的话,那为了不耽误进度,可以向经验更丰富的人请教;很多在你遇到的并认为是很难的问题,在资深一些的技术人员眼中那根本就不是问题,或许三下五除二,一个简单的命令就可以搞定。

      

      本来是一个很小的问题,但不料最后写了这么多废话,不过我觉得一些常见问题的解决办法也是有用的,所以保留着,如果有小的用处,幸甚至哉。

    赠人玫瑰
    手留余香

    我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

  • 相关阅读:
    2021hdu多校第二场补题
    ORACLE数据库之SQL语言基础
    EXCEL应用
    element-ui闭坑
    题解 CF1559E 【Mocha and Stars】
    题解 CF1530D 【Secret Santa】
    题解 CF1209E2 【Rotate Columns (hard version)】
    题解 CF761E 【Dasha and Puzzle】
    题解 UVA437 【巴比伦塔 The Tower of Babylon】
    题解 P6100 【[USACO19FEB]Painting the Barn G】
  • 原文地址:https://www.cnblogs.com/haochuang/p/3062990.html
Copyright © 2011-2022 走看看