先看问题:jenkins与nosetests问题:nosetests: error: no such option: --cover-xml
Jenkins红了,好几个项目都是如此。简单看了一下控制台输出,最后几行如下。基本可以猜出nosetests装的有问题。
+ cd /var/jenkins-FS-root/workspace/P_Projects + sudo nosetests --where=/var/jenkins-FS-root/workspace/P_Projects/svnrepo/DE/MQ/MQMgnt/test/unit --with-coverage --cover-xml --cover-xml-file=/var/jenkins-FS-root/workspace/P_Projects/report/ut_coverage.xml --with-xunit --xunit-file=/var/jenkins-FS-root/workspace/P_Projects/report/ut_results.xml Usage: nosetests [options] nosetests: error: no such option: --cover-xml + sudo chown -R jenkins-node-user:users /var/jenkins-FS-root/workspace/P_Projects/report + sudo chown -R jenkins-node-user:users /var/jenkins-FS-root/workspace/P_Projects/svnrepo/DE/EMQ/EMQMgnt/test/unit + exit 0 [xUnit] [INFO] - Starting to record. [xUnit] [INFO] - Processing JUnit [xUnit] [INFO] - [JUnit] - No test report file(s) were found with the pattern 'report/ut_results.xml' relative to '/var/jenkins-FS-root/workspace/P_Projects' for the testing framework 'JUnit'. Did you enter a pattern relative to the correct directory? Did you generate the result report(s) for 'JUnit'? [xUnit] [ERROR] - No test reports found for the metric 'JUnit' with the resolved pattern 'report/ut_results.xml'. Configuration error?. [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. Finished: FAILURE
简单看了一下配置,跟踪其构建node,找其对应IP,在其中查看nosetests --help | grep cover-xml,发现结果为空,那么当然报错了。
看下正确node信息:
找到问题原因了,解决办法当然很简单:easy_install nosetests==1.2.1,装个高一点版本的nosetests即可。
一个简单的问题,我废话了半天,其实重点不是再描述如何解决这个问题,而是想说明一个解决问题的办法,基本上一般问题都是如此解决:
1.定位问题:所谓望闻问切,首先要找对报错现象,从关键的错误代码着手,当然如果报错信息较多的话,教一个简单的办法,Ctrl+F找Error或者Exceptioni,根据这两个信息向前后看,从第一个Error开始着手;这样基本可以找到问题的原因;
2.分析问题:找到原因之后,如果见过的问题,或者自己知道问题可能是由什么所导致发生的,当然好办,直接修改代码即可;如果没见过,没关系,找最好的老师Google;
3.解决问题:原因找到了,自然是去解决。解决办法
不论学习,工作均是如此,三步走:发现问题--分析问题--解决问题。
当然这是最简单粗暴和直接的解决问题方法,高手有高明手段:
扁鹊云游各国,为君侯看病,也为百姓除疾,名扬天下。他的技术十分全面,无所不通。在邯郸听说当地尊重妇女,便做了带下医(妇科医生)。在洛阳,因为那里很尊重老人,他就做了专治老年病的医生。秦国人最爱儿童,他又在那里做了儿科大夫,不论在哪里,都是声名大振。
根据典记,魏文王曾求教于名医扁鹊:“你们家兄弟三人,都精于医术,谁是医术最好的呢?”扁鹊:“大哥最好,二哥差些,我是三人中最差的一个。”
魏王不解地说:“请你介绍的详细些。”
扁 鹊解释说:“大哥治病,是在病情发作之前,那时候病人自己还不觉得有病,但大哥就下药铲除了病根,使他的医术难以被人认可,所以没有名气,只是在我们家中 被推崇备至。我的二哥治病,是在病初起之时,症状尚不十分明显,病人也没有觉得痛苦,二哥就能药到病除,使乡里人都认为二哥只是治小病很灵。我治病,都是 在病情十分严重之时,病人痛苦万分,病人家属心急如焚。此时,他们看到我在经脉上穿刺,用针放血,或在患处敷以毒药以毒攻毒,或动大手术直指病灶,使重病 人病情得到缓解或很快治愈,所以我名闻天下。”魏王大悟。
事后控制不如事中控制,事中控制不如事前控制,可惜大多数的事业经营者均未能体会到这一点,等到错误的决策造成了重大的损失才寻求弥补。弥补得好,当然是声名鹊起,但更多的时候是亡羊补牢,为时已晚。
多努力,见多问题,解决多问题了,思考问题背后发生的原因,很早就规避和消灭问题,让隐患灭绝在摇篮之中,成为扁鹊大哥,那才是不错的高手。