[原][問題解決]常見問題的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還在呢(當然可能被河蟹,但也有辦法,可以翻牆啊,如果你說不會翻牆,那么你可以稍等一下就可以繼續訪問,或者試試bing、youdao、soso等,當然我不推薦使用baidu,除非實在沒辦法的情況下)

5.請教高人:

當然最后,還有一句話“三人行,必有我師”,如果單憑個人解決不了,拖的時間過長的話,那為了不耽誤進度,可以向經驗更豐富的人請教;很多在你遇到的並認為是很難的問題,在資深一些的技術人員眼中那根本就不是問題,或許三下五除二,一個簡單的命令就可以搞定。

  

  本來是一個很小的問題,但不料最后寫了這么多廢話,不過我覺得一些常見問題的解決辦法也是有用的,所以保留着,如果有小的用處,幸甚至哉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM