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
於是解決方案就出來了:修改slave node的時間,使之與master節點保持相同。
驗證:再次構建運行工程,發現問題得以解決。
對的,也確實就是這么簡單。
其實我不是CM,但我在解決jenkins的問題;我也不是運維,我卻在解決Openstack運維的問題;我更不是PM,大家知道,我們的PM一般都是管管人開開會就完事,不做技術的;我也不是支持或其他,我和你一樣,也只是一個普通的技術人員。
我覺得在一個團隊中,當自己遇到問題時候,我們可以很輕松的解決掉,別人遇到問題的時候,我們可以幫助其解決問題,並能分享出來一些解決方案,這才是技術人的價值;遇到問題不可怕,可怕的是遇到問題就喊開發,打斷其正在寫代碼的思路,往往會造成更多潛在的問題。
很多問題看起來一大堆報錯信息,而實際上,只要我們抓住要害,根本原因有時候並不是很麻煩。
像之前我在其他問題解決辦法中反復提到的一些思想:類似醫生的“望聞問切”,首先簡單看一下問題,猜測可能的原因,然后根據自己的猜測,稍做驗證,如果猜對了,那問題就解決了,如果沒猜對,那就需要在摸索思考才能解決。往往可以這么做:
1.檢查問題:
遇到問題不要緊,首先要看錯誤日志,根據錯誤信息進行分析,抓住關鍵點,針對要害一步一步的追蹤,不斷的刨根問底之后,基本就撥雲見霧,真相就在眼前了。
2.判斷問題:
有時候遇到一些問題,看似很棘手,不知從何下手,不過不要緊,可以問下制造出這個問題的“罪魁禍首”操作者,他做了什么操作之后產生這樣的結果?目前,相對人而言,計算機還是比較笨的,它是比較客觀的,你給他輸入什么,他就會根據預設的程序給你return什么。而往往輸入輸出這個I/O是有一定關系的,所以,當我們知道操作者的輸入,會對解決問題有很大的幫助,因為我們可以預估輸出,這個輸出和我們期望的有什么不同。而如果是長時間運行出來的結果,另外操作者自己忘記了做什么導致的問題,那最簡單的辦法是在其中搜索“error”或者“exception”,找到這些關鍵字后面的日志信息,這才算是挖到阻擋我們的石頭。
3.思考問題:
根據Error的信息,往往可以看出端倪,接着往下走,做一些深究,往往可以解決問題;
4.查找借鑒:
另外,有人會說有時候會遇到一些錯誤信息,從未見過,也分析不明白,怎么辦?確實存在這種問題。這時候別忘了,我們天然最好的老師Google還在呢(當然可能被河蟹,但也有辦法,可以翻牆啊,如果你說不會翻牆,那么你可以稍等一下就可以繼續訪問,或者試試bing、youdao、soso等,當然我不推薦使用baidu,除非實在沒辦法的情況下)
5.請教高人:
當然最后,還有一句話“三人行,必有我師”,如果單憑個人解決不了,拖的時間過長的話,那為了不耽誤進度,可以向經驗更豐富的人請教;很多在你遇到的並認為是很難的問題,在資深一些的技術人員眼中那根本就不是問題,或許三下五除二,一個簡單的命令就可以搞定。
本來是一個很小的問題,但不料最后寫了這么多廢話,不過我覺得一些常見問題的解決辦法也是有用的,所以保留着,如果有小的用處,幸甚至哉。