1. 程式人生 > >2020-08-14發版混亂【一臉懵逼】的覆盤

2020-08-14發版混亂【一臉懵逼】的覆盤

​ ![image](https://cdn.nlark.com/yuque/0/2020/png/1143489/1597476131785-0f9148d1-d5d7-4f50-b428-246cc40b5d1f.png) 窮困潦倒、一臉懵逼的運維工程師揹著大大的黑鍋 ---- 一名初入行業的新手運維的感嘆! 初來公司的第一天就感到震驚!一家IT公司的叢集環境可以如此之亂!生產和測試同用一套環境,內網的所謂研發環境基本無人使用,上面在感嘆伺服器價格高昂的同時,下面將一些伺服器買來就沒用過!公司內一面在高談未來,一面叢集和業務隨時處於崩盤的可能。好吧,吐槽完畢,回到正題 剛來的第一天晚上就遇到了發版。研發團隊一直忙到第二天凌晨4點【後來才曉得是因為程式碼就沒經過測試環境急於求成的上到了生產,而且在部署和程式碼上都出現了問題!】,好吧,我沒參加,就不管我的事了。 第二次發版是研發團隊主導的,由前端和架構師主導,我只是在觀摩,這次發版最是搞笑,架構師對資料庫的欄位進行了修改卻沒同步到生產資料庫,啥也不說了。 ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597477008518-59f8d201-c45a-496f-b078-7ef9dcfb11d1.jpeg) ​ 第三次發版是後端主導的,本來說的我,我還是觀摩,後端工程師給我講因為寫成了指令碼,所以一條命令就搞定了,然而我卻看到他在手動部署,好吧,當時進行的太快,我沒看的太清楚到底操作了啥.... ​ 寫到這裡可能有道友問了,不是吧,你一個運維不負責發版,emmmmm,留下來的文件都是舊的,練個操作過程都沒得,就幾條命令誰搞誰背鍋【前幾個負責運維的都沒留下啥能看懂的文件....】 ​ 第四次發版是我主導的,發版前的下班時間還特地向之間發版的後端工程師請教了一波,確定每次就是登陸某個伺服器進入某個目錄然後執行一條命令,完事。多麼 ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597477498589-ce03a68c-c603-48e4-af74-57056cc55165.jpeg) 我特地請後端開發在我發版的時候進入騰訊會議觀看我的操作(用腳想就知道出事是必然事件!),一條命令執行下去,一片紅,刺激!然後就和後端開發工程師一起排查問題了【發版就告訴運維一條命令就OK,也是....】,最後竟然是因為環境變量出問題了,那改唄,又因為牽扯到負責度和時間就選擇了手動部署,..... 好吧。這次後就沒了 沒人寫總結 也沒人去修復,然後就這樣放在哪裡了..... 第五次發版就是8月14日的那次了,一臉懵逼就背鍋的這次了!本次發版甚是搞笑,有必要寫的足夠細緻。 2020年8月14日早上10點左右,CTO給我講今晚要發版0.9.5 然後我問 前端還是後端,答後端, 然後沒了... 沒了, 沒人找我說要發版什麼,牽扯到誰,怎麼發版【典型的運維不是人,沒必要認真對待】,行吧,當時我正在搞阿里雲月中續費,也沒不想中斷程序,畢竟按道理來講應該會有個發版會議的。整理完月中續費後,我問後端工程師本次要發版什麼?答不知道,然後我去問測試工程師,測試工程師說上線個小功能。行吧。然後我就拉個小群,把我認為能牽扯到的測試人員、後端工程師給拉到一起,期間我還小有調侃,發版運維都不曉得發版什麼,還發個什麼的版。下午在忙將服務部署到預發環境也沒去關心這件事【其實中間我曾在小群說過幾句話的】,一直到下班,依舊沒人告訴我要發版什麼,行吧,然後我去問後端知道這個功能是誰做的不,後端說是架構師做的,行吧又把架構師給拉到小群裡,讓架構師自己發版【我都不曉得發版什麼?程式碼在哪裡?怎麼發版過程【py牽扯到依賴什麼的】】。晚上等到9點左右【說好的發版時間】,架構師找不到了,行吧,行吧,官大沒辦法。好不容易發版上去了,卻發現 ​ ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1143489/1597478936604-20b0b30f-0266-4ab2-8933-f2299d52e18d.png) 常規操作啊,不出問題就才不正常,行吧還牽扯到了前端【沒有任何一位同事給我講還牽扯到前端,寫到這裡我笑了】,我是問過CTO的!行吧,人微言輕,趕緊給前端大佬打電話,前端大佬發版了,卻出現Pod一直ContainerCreating【線上K8S早就離崩潰不遠了】,好吧,我將問題給解決了一下。前端發版成功。測試說好了,然後出現了這樣的一幕【這裡以職位來代替吧】 ``` 研發經理@產品經理:今天產品的發版流程有一些亂,發版沒有按流程通知到位,發版相關人員不知情,運營的相關人員也沒有通知,發版內容沒有郵件通知,很多人處於懵逼狀態,技術這邊也沒有確定發版時間,只知道要發版,最後在不規範的流程下我們已經將年套餐的版本發到了線上。。。 產品經理:我讓測試 測一下就下架的 測試 :我剛刪了 測試:下了 研發經理:我還能看到 研發經理@架構師 產品經理:是怕支付流程有問題,所以說上線後要立馬測一下 研發經理: 這個要從那裡下架,釋出歷史可以下嗎 架構師:我有做刪除介面的 研發經理:不要建立這種測試資料了 架構師:xx剛剛叫我發版的時候,我還以為已經通知大夥了,也收到郵件了的。結果我更新程式碼之後才發現林坤連學武都沒有叫上……先說好啊,下次我沒收到發版郵件,應該可以拒絕發版吧? 研發經理:可以 ``` 怎麼說 鍋已經到運維了,而且也可到了架構師的程式碼是存在問題的,他的程式碼沒問題就不正常!!! 繼續往下看,更精彩的來了 下面是私聊: CTO:發版你沒發通知出來嗎? 我:根本就不曉得 本次上線要做什麼! 沒人給我對接啊 我:而且本次發版 還牽扯到了前端 可是我都不知道 CTO:每次都要配合,不管有沒有牽扯前端 CTO:現在是回退了嗎? 我:現在事0.9.5 成功上線 我:我就得到你的一句 今晚要發版 然後沒人和我講 要發版什麼 牽扯到誰 我根本就不曉得 我還拉個小群 和可能牽扯到的同事進行溝通 還是遺漏了前端 CTO:所以不要建小群。。。 CTO:都說了 ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597480127433-2c60f3af-6a9a-40da-971f-696d2277589c.jpeg) 我:主要是 老大 你不覺得 有點亂嘛? 發版 沒人和運維 說要發啥... CTO:不是有個review群嗎? ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597480183252-8a01faad-881c-44ef-b5f2-390a256ed7c9.jpeg) 我:你不說我都沒想起來還有個群.. CTO:在review群釋出發版公告 CTO:之前流程你不是走過嗎? ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597480243918-a0b3bd6e-daed-4dc8-bbcd-49aafe38b8fd.jpeg) 我:這個不應該是 運營團隊發的吧 【看到CTO的話我還特定去哪個群看了一下,原來的通知都是運營團隊發的,而且我根本就沒在哪個群裡說過一次話】 CTO:這種小群還是解散吧 CTO:在上面溝通 【OK 現在開始怪我拉小群了,行吧,錯錯錯,都是我的錯,背鍋嘛】 我:我剛看了一下 都是xxx發的 CTO:我看群上現在都在甩鍋 CTO:是 我:那必須啊 本次我是最懵逼的已讀 我:我根本就不知道 本次發版要幹嘛已讀 CTO:本來是應該產品來發,但溝通不要在小群 CTO:不然出問題其他人都不知道 CTO:嗯,後續這個還是要吸取教訓,在不清楚的情況下先弄清楚,畢竟運維有時要謹慎 【行吧,錯錯錯,都是我的錯,背鍋嘛】 我:流程應該是高層溝通好評估是否能發版 然後告訴運維要發版什麼 牽扯到誰 然後牽扯到的人開會 然後發版人必須保證線上 可是今天我就收到個要發版 然後我組織可能的人 做準備 … 我根本就是一臉懵已讀 CTO:是,前面的流程沒錯,我是說你不清楚後面怎麼做,應該問清楚 CTO:問甲,我,乙,或者在群上問 CTO:大家都是清楚的 我:甲本次也凌亂啊 我就是先和甲溝通的 我:在今天之前我就不曉得乙是誰… 這是真話 CTO:甲凌亂? CTO:你是什麼時候通知他的 CTO:他應該知道發版步驟啊 我:發現發版牽扯到前端的時候 我:你給我講是後端部分 然後也有前端…已讀 CTO:那這樣他就覺得是你在主導發版啊 CTO:如果你問他應該怎麼發版他不明白那我找他 我: ​ ![image](https://cdn.nlark.com/yuque/0/2020/jpeg/1143489/1597480007627-451e87b7-93fc-4510-8683-da2e51a25e22.jpeg)已讀 我:這個流程有錯誤的地方嗎 【其實這裡我已經快爆發,去他嗎的,甩鍋就甩鍋,還講這麼多幹嘛!拿著屁大點的工資,受著欺】 CTO:沒問題 CTO:我說了,前面流程沒問題 我:沒人找我 說啊 我能主動找領導 CTO:我是說這個事情處理起來有問題 CTO:。。。 我:領導安排下來了 不說別的 那不就是讓我來幹了 然後我就知道自己想辦法來做了… CTO:通話時長16:07 這裡可以看出:整個過程CTO就在譴責我的不對,而我是處於一臉懵逼的!電話裡 講的中心思想:認錯態度不積極。 更更精彩的來了,好戲登場了。私聊 我:怎麼問題在我? 我:我也是背鍋的! 架構師:沒說問題在你啊 架構師:不是 你的問題,我只是推開我自身的鍋而已,你自己完全可以出來說你是奉命形式。這樣也就不是你的問題了。 架構師:畢竟你還不瞭解發版流程,所以沒人會怪你 【聽聽,操他媽的,一邊把鍋推給我,一邊說我垃圾!】 架構師:你不應該在沒有書面授權的情況下去執行發版的,老大口頭說是不行的。所有一切都是以書面為證據的 架構師:孟立這點並不是你的問題 我:是的呢 您說的對 這確實是我的問題呀 【其實到這裡,我根本就不想搭理他了,沒啥必要和這種人說什麼!】 架構師:因為之前一直都是測試那邊操作了 我以為測試已經獲得授權了 我:安了 安了 我明天出郵件 闡述此過失就好了 本次辛好沒出問題 不要太在意了 【操他媽的】 架構師:今天如果發版出大亂 明天展會無法執行,真的不是你一個人能擔起這個責任了,我們所有人這個月的績效都可能沒了。 【他媽的,向他這麼底下說話了,還他嗎的站在自己的利益看】 架構師:所以,我真的希望你能做事慎重一點。我今天以為是測試主導的釋出,你只是負責執行。 我:天塌了 不會壓倒你們的 【爛人一位,根本不想再搭理!】 ......... 過了很長時間,我寫下了這麼幾句話 ​ ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1143489/1597481214981-7fd07a61-5b7d-424d-aac1-463d1cc2d9be.png) 並且向牽扯到的所有人一一道歉! ​ ![image.png](https://cdn.nlark.com/yuque/0/2020/png/1143489/1597481528513-fffb8ce3-bfb5-4928-bd73-a88b5eb00baa.png) 為什麼要這麼寫呢?我想起來,我當初為什麼要選擇這家公司,當我剛來這家公司時,也有好幾家公司在邀請我,那麼我為什麼選擇這家公司了呢? 這家公司 破破爛爛的叢集環境可以讓一名新手成長的更快;這家公司正在過度k8s,而我是在全程參與主導,從0到1,我能學到的更多;這家公司正在使用go語言做一些專案,而go也正好是我的學習語言,可以從中學到不少。 我認為我此次選擇了底下頭,是一種成長,為了要得到的,選擇瞭如此,有一天我會回頭看這篇博文,那時候我應該在想屁都不是的一群人! 呵,屁都不是的一群人,仗著什麼來推鍋,程式碼和shi一樣!