AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

如何找到“BB”之人?(Break Build)

來源: 責(zé)編: 時(shí)間:2024-06-14 08:53:00 169觀看
導(dǎo)讀你好,我是悟空。圖片一、前言我們先來看一封 Break Build(BB) 郵件,如下圖所示,這封郵件清楚的展示誰 BB 了,以及如何 BB 的。圖片今天我們要聊的話題是在自動(dòng)化部署的過程中,如何找到造成本次部署失敗的人。而在持續(xù)集成領(lǐng)

你好,我是悟空。8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

一、前言

我們先來看一封 Break Build(BB) 郵件,如下圖所示,這封郵件清楚的展示誰 BB 了,以及如何 BB 的。8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

今天我們要聊的話題是在自動(dòng)化部署的過程中,如何找到造成本次部署失敗的人。而在持續(xù)集成領(lǐng)域,部署失敗被稱作 Break Build,簡稱 BB。8Wb28資訊網(wǎng)——每日最新資訊28at.com

你是否遇到過自己提交了的代碼,導(dǎo)致整個(gè)項(xiàng)目的代碼編譯失敗?8Wb28資訊網(wǎng)——每日最新資訊28at.com

你是否因?yàn)榫幾g失敗而被郵件通報(bào)?8Wb28資訊網(wǎng)——每日最新資訊28at.com

你是否因?yàn)楸秽]件通報(bào)而被罰money?8Wb28資訊網(wǎng)——每日最新資訊28at.com

這些都是我們之前項(xiàng)目組里面開發(fā)同學(xué)親身經(jīng)歷。8Wb28資訊網(wǎng)——每日最新資訊28at.com

他們因?yàn)閷⑽唇?jīng)本地編譯通過的代碼直接往代碼倉庫提交,導(dǎo)致服務(wù)器編譯打包部署時(shí),直接報(bào)錯(cuò),而耽誤了整個(gè)測(cè)試進(jìn)度。8Wb28資訊網(wǎng)——每日最新資訊28at.com

然后這些開發(fā)同學(xué)就會(huì)收到一封 “BB” 郵件,凡是收到這封郵件的人,所在的小組會(huì)被記一筆小黑賬,后續(xù)需上交一點(diǎn)點(diǎn) money~8Wb28資訊網(wǎng)——每日最新資訊28at.com

二、Break Build 是什么?

“Break build”是一個(gè)軟件開發(fā)和持續(xù)集成(CI)領(lǐng)域的術(shù)語,通常指的是在構(gòu)建軟件的過程中遇到的失敗或錯(cuò)誤,導(dǎo)致整個(gè)構(gòu)建過程無法完成。它提醒開發(fā)團(tuán)隊(duì)存在問題需要修復(fù),確保只有穩(wěn)定且無錯(cuò)誤的代碼才能進(jìn)入后續(xù)階段或部署到生產(chǎn)環(huán)境。8Wb28資訊網(wǎng)——每日最新資訊28at.com

2.1 定義

構(gòu)建過程包括從編譯源代碼、運(yùn)行測(cè)試到打包成可部署的應(yīng)用程序。當(dāng)這個(gè)過程中的某一步失敗時(shí),我們稱之為“break build”。8Wb28資訊網(wǎng)——每日最新資訊28at.com

2.2 常見原因

  • 代碼錯(cuò)誤:如語法錯(cuò)誤、編譯錯(cuò)誤或邏輯錯(cuò)誤。
  • 測(cè)試失?。簡卧獪y(cè)試、集成測(cè)試或端到端測(cè)試未通過。
  • 依賴問題:缺少必要的庫或版本沖突。
  • 配置錯(cuò)誤:構(gòu)建腳本或配置文件中的錯(cuò)誤。
  • 環(huán)境問題:構(gòu)建環(huán)境中的配置或資源問題,例如磁盤空間不足或網(wǎng)絡(luò)問題。

2.3 影響

  • 開發(fā)效率:開發(fā)人員需要花時(shí)間查找和修復(fù)錯(cuò)誤,可能會(huì)延遲項(xiàng)目進(jìn)度。
  • 團(tuán)隊(duì)協(xié)作:其他開發(fā)人員可能無法在代碼庫的最新版本上繼續(xù)工作,直到構(gòu)建問題解決。
  • 質(zhì)量保障:未能通過構(gòu)建的代碼不能部署到生產(chǎn)環(huán)境,確保了只有通過所有測(cè)試的代碼才會(huì)被發(fā)布。

2.4 處理方法

  • 快速反饋:通過持續(xù)集成工具(如 Jenkins、GitLab CI、Travis CI 等)提供即時(shí)反饋,幫助開發(fā)人員迅速發(fā)現(xiàn)和解決問題。
  • 自動(dòng)化測(cè)試:在構(gòu)建過程中自動(dòng)運(yùn)行各種測(cè)試,確保代碼的正確性和穩(wěn)定性。
  • 代碼審查和靜態(tài)分析:在提交代碼前進(jìn)行代碼審查和使用靜態(tài)分析工具,減少引入錯(cuò)誤的機(jī)會(huì)。
  • 分階段構(gòu)建:將構(gòu)建過程分成多個(gè)階段(編譯、測(cè)試、打包等),可以更快地定位和解決問題。

三、如何找到 Break Build 之人

3.1 通知邏輯

我們可以編寫 Jenkins 的 Pipeline 腳本,如果此次打包失敗了,則找出此次構(gòu)建中的提交記錄,并將代碼提交者、提交注釋、受影響的文件列表及提交時(shí)間都打印出來,并通過郵件形式發(fā)送給觸發(fā)構(gòu)建者以及提交代碼的同學(xué)。如果打包成功了,則發(fā)送郵件給觸發(fā)構(gòu)建者。流程如下所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

對(duì)應(yīng)的 pipeline 腳本如下圖所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

3.2 找出代碼提交者

思路:遍歷當(dāng)前構(gòu)建及其之前的構(gòu)建成功之間構(gòu)建記錄,然后收集每個(gè)構(gòu)建中的提交者信息,最后發(fā)郵件給提交者。8Wb28資訊網(wǎng)——每日最新資訊28at.com

流程如下圖所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

這里有個(gè)地方非常拗口:遍歷當(dāng)前構(gòu)建及其之前的構(gòu)建成功之間構(gòu)建記錄,怎么理解呢?8Wb28資訊網(wǎng)——每日最新資訊28at.com

如下圖所示,構(gòu)建記錄 #53 是成功的,那么本次要遍歷的構(gòu)建記錄就是 #54~#58 這幾條記錄。8Wb28資訊網(wǎng)——每日最新資訊28at.com

為什么不是直接找本次構(gòu)建中的代碼提交提交記錄呢?原因是上一次構(gòu)建后,下一次就拿不到提交記錄了,8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

對(duì)應(yīng)的 pipeline 腳本如下圖所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

四、執(zhí)行結(jié)果

執(zhí)行構(gòu)建后,可以看到本次構(gòu)建中,有兩次代碼提交,有兩個(gè)提交者,可能為同一個(gè)人。那么這兩個(gè)提交者都會(huì)收到 Break Build 郵件,至于是誰最終造成的,得看部署日志了。8Wb28資訊網(wǎng)——每日最新資訊28at.com

4.1 打印提交記錄

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

對(duì)應(yīng)的失敗通知的郵件模板中打印提交記錄的 html 如下所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

4.2 打印詳細(xì)的提交記錄

在失敗通知郵件中還會(huì)打印構(gòu)建日志,如下圖所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

對(duì)應(yīng)的失敗通知郵件模板中的打印構(gòu)建日志的 html 如下所示:8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片8Wb28資訊網(wǎng)——每日最新資訊28at.com

4.3 查看完整的構(gòu)建日志

從郵件中還是無法確認(rèn)是誰提交的代碼造成的問題,這個(gè)時(shí)候可以看下構(gòu)建日志。8Wb28資訊網(wǎng)——每日最新資訊28at.com

如下圖所示,可以看到具體哪個(gè)地方報(bào)錯(cuò)了,然后找下誰改的這個(gè)文件以及代碼行就能知道是誰造成編譯失敗了。8Wb28資訊網(wǎng)——每日最新資訊28at.com

圖片郵件模板8Wb28資訊網(wǎng)——每日最新資訊28at.com

五、總結(jié)

在自動(dòng)化部署過程中,找到導(dǎo)致構(gòu)建失敗的提交者至關(guān)重要。8Wb28資訊網(wǎng)——每日最新資訊28at.com

構(gòu)建失?。˙reak Build,簡稱BB)通常由于代碼錯(cuò)誤、測(cè)試失敗、依賴問題等原因引起,影響開發(fā)效率和團(tuán)隊(duì)協(xié)作。8Wb28資訊網(wǎng)——每日最新資訊28at.com

我們可以通過編寫 Jenkins Pipeline 腳本,在構(gòu)建失敗時(shí)遍歷當(dāng)前構(gòu)建及其之前的構(gòu)建記錄,收集每個(gè)構(gòu)建中的提交者信息,并將這些信息通過郵件發(fā)送給相關(guān)人員。這不僅能迅速通知提交者修復(fù)問題,還能確保代碼的穩(wěn)定性和質(zhì)量。8Wb28資訊網(wǎng)——每日最新資訊28at.com

通過持續(xù)集成工具的快速反饋和自動(dòng)化測(cè)試,我們能夠有效地預(yù)防和處理 Break Build,提高整體開發(fā)效率。8Wb28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-93701-0.html如何找到“BB”之人?(Break Build)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 2024年,一大波 Web 新功能來襲!

下一篇: 我在 Mac 中使用過的那些 Shell 工具

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 紅魔電競(jìng)平板評(píng)測(cè):大屏幕硬實(shí)力

    前言:三年的疫情因?yàn)橐暇W(wǎng)課的原因激活了平板市場(chǎng),如今網(wǎng)課的時(shí)代已經(jīng)過去,大家的生活都恢復(fù)到了正軌,這也就意味著,真正考驗(yàn)平板電腦生存的環(huán)境來了。也就是面對(duì)著這種殘酷的
  • 7月安卓手機(jī)好評(píng)榜:三星S23Ultra好評(píng)率第一

    性能榜和性價(jià)比榜之后,我們來看最后的安卓手機(jī)好評(píng)榜,數(shù)據(jù)來源安兔兔評(píng)測(cè),收集時(shí)間2023年7月1日至7月31日,僅限國內(nèi)市場(chǎng)。第一名:三星Galaxy S23 Ultra好評(píng)率:95.71%在即將迎來新
  • 三言兩語說透設(shè)計(jì)模式的藝術(shù)-簡單工廠模式

    一、寫在前面工廠模式是最常見的一種創(chuàng)建型設(shè)計(jì)模式,通常說的工廠模式指的是工廠方法模式,是使用頻率最高的工廠模式。簡單工廠模式又稱為靜態(tài)工廠方法模式,不屬于GoF 23種設(shè)計(jì)
  • 線程通訊的三種方法!通俗易懂

    線程通信是指多個(gè)線程之間通過某種機(jī)制進(jìn)行協(xié)調(diào)和交互,例如,線程等待和通知機(jī)制就是線程通訊的主要手段之一。 在 Java 中,線程等待和通知的實(shí)現(xiàn)手段有以下幾種方式:Object 類下
  • “又被陳思誠騙了”

    作者|張思齊 出品|眾面(ID:ZhongMian_ZM)如今的國產(chǎn)懸疑電影,成了陳思誠的天下。最近大爆電影《消失的她》票房突破30億斷層奪魁暑期檔,陳思誠再度風(fēng)頭無兩。你可以說陳思誠的
  • 小米公益基金會(huì)捐贈(zèng)2500萬元馳援北京、河北暴雨救災(zāi)

    8月2日消息,今日小米科技創(chuàng)始人雷軍在其微博上發(fā)布消息稱,小米公益基金會(huì)宣布捐贈(zèng)2500萬元馳援北京、河北暴雨救災(zāi)。攜手抗災(zāi),京冀安康!以下為公告原文
  • 華為Mate 60系列用上可變靈動(dòng)島:正式版體驗(yàn)將會(huì)更出色

    這段時(shí)間以來,關(guān)于華為新旗艦的爆料日漸密集。據(jù)此前多方爆料,今年華為將開始恢復(fù)一年雙旗艦戰(zhàn)略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • iQOO 11S新品發(fā)布會(huì)

    iQOO將在7月4日19:00舉行新品發(fā)布會(huì),推出杭州亞運(yùn)會(huì)電競(jìng)賽事官方用機(jī)iQOO 11S。
  • Android 14發(fā)布:首批適配機(jī)型公布

    5月11日消息,谷歌在今天凌晨舉行了I/O大會(huì),本次發(fā)布會(huì)谷歌帶來了自家的AI語言模型PaLM 2、谷歌Pixel Fold折疊屏、谷歌Pixel 7a手機(jī),同時(shí)發(fā)布了Androi
Top