眼高手低
年底了比賽接踵而至,有幾十個(gè)參賽選手,為了方便給大家打分做了一套DevOps自動(dòng)化評(píng)分工具,開發(fā)過(guò)程簡(jiǎn)直毀三觀。比賽是規(guī)定了各個(gè)服務(wù)的端口、接口格式和打包目錄結(jié)構(gòu)的,但是一跑起來(lái)各種奇葩問(wèn)題,這就是常說(shuō)的“在我電腦上沒(méi)問(wèn)題?。 币坏讲渴鹁透鞣N問(wèn)題。
首先是打包問(wèn)題,在打zip文件時(shí),人們往往習(xí)慣先把文件放入一個(gè)文件夾后,再對(duì)文件夾打包。題目的要求不需要那層文件夾的,有人就會(huì)按習(xí)以為常的方式處理,這樣的包解壓后就會(huì)找不到對(duì)應(yīng)文件,而是存在于多的那層文件夾中。這樣給他們0分也不太好,只能多做些步驟掃描文件存放路徑,再做處理。
然后就是有人亂改nginx端口和微服務(wù)的端口,導(dǎo)致服務(wù)不通,rf腳本一直重試,搞的Jenkins停不下來(lái),無(wú)奈只能設(shè)個(gè)超時(shí)時(shí)間,跑步完的直接咔掉。
還有人的啟停shell跑不了,打開看檢查了一遍也沒(méi)發(fā)現(xiàn)什么問(wèn)題,后來(lái)我執(zhí)行了一遍才發(fā)現(xiàn)是換行的問(wèn)題。win下?lián)Q行是\r\n,而Linux下面換行是\n,他們?cè)趙in下編輯的shell拿到Linux下就跑不了了。幫他們做了替換才勉強(qiáng)能啟動(dòng)服務(wù)。
更有甚者,啟動(dòng)腳本沒(méi)問(wèn)題,停止腳本不起作用。環(huán)境只有一套,一個(gè)人的評(píng)分結(jié)束,服務(wù)停止后,才能再部署下一個(gè)人的,上個(gè)人的服務(wù)停不了肯定會(huì)影響下一個(gè)人的服務(wù),下個(gè)人得的分都不是用他的服務(wù)跑出來(lái)的。只好寫了一套通用的腳本,把可能的服務(wù)都停掉,做到不會(huì)影響下一個(gè)人。
我好像保姆一樣,各種各樣的小問(wèn)題都要兼顧,這樣才能讓他們程序都部署成功,沒(méi)有經(jīng)過(guò)測(cè)試的代碼太可怕了。