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

當前位置:首頁 > 科技  > 軟件

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

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

你好,我是悟空。Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

一、前言

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

圖片圖片Vll28資訊網——每日最新資訊28at.com

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

你是否遇到過自己提交了的代碼,導致整個項目的代碼編譯失敗?Vll28資訊網——每日最新資訊28at.com

你是否因為編譯失敗而被郵件通報?Vll28資訊網——每日最新資訊28at.com

你是否因為被郵件通報而被罰money?Vll28資訊網——每日最新資訊28at.com

這些都是我們之前項目組里面開發同學親身經歷。Vll28資訊網——每日最新資訊28at.com

他們因為將未經本地編譯通過的代碼直接往代碼倉庫提交,導致服務器編譯打包部署時,直接報錯,而耽誤了整個測試進度。Vll28資訊網——每日最新資訊28at.com

然后這些開發同學就會收到一封 “BB” 郵件,凡是收到這封郵件的人,所在的小組會被記一筆小黑賬,后續需上交一點點 money~Vll28資訊網——每日最新資訊28at.com

二、Break Build 是什么?

“Break build”是一個軟件開發和持續集成(CI)領域的術語,通常指的是在構建軟件的過程中遇到的失敗或錯誤,導致整個構建過程無法完成。它提醒開發團隊存在問題需要修復,確保只有穩定且無錯誤的代碼才能進入后續階段或部署到生產環境。Vll28資訊網——每日最新資訊28at.com

2.1 定義

構建過程包括從編譯源代碼、運行測試到打包成可部署的應用程序。當這個過程中的某一步失敗時,我們稱之為“break build”。Vll28資訊網——每日最新資訊28at.com

2.2 常見原因

  • 代碼錯誤:如語法錯誤、編譯錯誤或邏輯錯誤。
  • 測試失敗:單元測試、集成測試或端到端測試未通過。
  • 依賴問題:缺少必要的庫或版本沖突。
  • 配置錯誤:構建腳本或配置文件中的錯誤。
  • 環境問題:構建環境中的配置或資源問題,例如磁盤空間不足或網絡問題。

2.3 影響

  • 開發效率:開發人員需要花時間查找和修復錯誤,可能會延遲項目進度。
  • 團隊協作:其他開發人員可能無法在代碼庫的最新版本上繼續工作,直到構建問題解決。
  • 質量保障:未能通過構建的代碼不能部署到生產環境,確保了只有通過所有測試的代碼才會被發布。

2.4 處理方法

  • 快速反饋:通過持續集成工具(如 Jenkins、GitLab CI、Travis CI 等)提供即時反饋,幫助開發人員迅速發現和解決問題。
  • 自動化測試:在構建過程中自動運行各種測試,確保代碼的正確性和穩定性。
  • 代碼審查和靜態分析:在提交代碼前進行代碼審查和使用靜態分析工具,減少引入錯誤的機會。
  • 分階段構建:將構建過程分成多個階段(編譯、測試、打包等),可以更快地定位和解決問題。

三、如何找到 Break Build 之人

3.1 通知邏輯

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

圖片圖片Vll28資訊網——每日最新資訊28at.com

對應的 pipeline 腳本如下圖所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

3.2 找出代碼提交者

思路:遍歷當前構建及其之前的構建成功之間構建記錄,然后收集每個構建中的提交者信息,最后發郵件給提交者。Vll28資訊網——每日最新資訊28at.com

流程如下圖所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

這里有個地方非常拗口:遍歷當前構建及其之前的構建成功之間構建記錄,怎么理解呢?Vll28資訊網——每日最新資訊28at.com

如下圖所示,構建記錄 #53 是成功的,那么本次要遍歷的構建記錄就是 #54~#58 這幾條記錄。Vll28資訊網——每日最新資訊28at.com

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

圖片圖片Vll28資訊網——每日最新資訊28at.com

對應的 pipeline 腳本如下圖所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

四、執行結果

執行構建后,可以看到本次構建中,有兩次代碼提交,有兩個提交者,可能為同一個人。那么這兩個提交者都會收到 Break Build 郵件,至于是誰最終造成的,得看部署日志了。Vll28資訊網——每日最新資訊28at.com

4.1 打印提交記錄

圖片圖片Vll28資訊網——每日最新資訊28at.com

對應的失敗通知的郵件模板中打印提交記錄的 html 如下所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

4.2 打印詳細的提交記錄

在失敗通知郵件中還會打印構建日志,如下圖所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

對應的失敗通知郵件模板中的打印構建日志的 html 如下所示:Vll28資訊網——每日最新資訊28at.com

圖片圖片Vll28資訊網——每日最新資訊28at.com

4.3 查看完整的構建日志

從郵件中還是無法確認是誰提交的代碼造成的問題,這個時候可以看下構建日志。Vll28資訊網——每日最新資訊28at.com

如下圖所示,可以看到具體哪個地方報錯了,然后找下誰改的這個文件以及代碼行就能知道是誰造成編譯失敗了。Vll28資訊網——每日最新資訊28at.com

圖片郵件模板Vll28資訊網——每日最新資訊28at.com

五、總結

在自動化部署過程中,找到導致構建失敗的提交者至關重要。Vll28資訊網——每日最新資訊28at.com

構建失敗(Break Build,簡稱BB)通常由于代碼錯誤、測試失敗、依賴問題等原因引起,影響開發效率和團隊協作。Vll28資訊網——每日最新資訊28at.com

我們可以通過編寫 Jenkins Pipeline 腳本,在構建失敗時遍歷當前構建及其之前的構建記錄,收集每個構建中的提交者信息,并將這些信息通過郵件發送給相關人員。這不僅能迅速通知提交者修復問題,還能確保代碼的穩定性和質量。Vll28資訊網——每日最新資訊28at.com

通過持續集成工具的快速反饋和自動化測試,我們能夠有效地預防和處理 Break Build,提高整體開發效率。Vll28資訊網——每日最新資訊28at.com

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

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

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

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

標簽:
  • 熱門焦點
  • Redmi Pad評測:紅米充滿野心的一次嘗試

    從Note系列到K系列,從藍牙耳機到筆記本電腦,紅米不知不覺之間也已經形成了自己頗有競爭力的產品體系,在中端和次旗艦市場上甚至要比小米新機的表現來得更好,正所謂“大丈夫生居
  • 7月安卓手機性能榜:紅魔8S Pro再奪榜首

    7月份的手機市場風平浪靜,除了紅魔和努比亞帶來了兩款搭載驍龍8Gen2領先版處理器的新機之外,別的也想不到有什么新品了,這也正常,通常6月7月都是手機廠商修整的時間,進入8月份之
  • 0糖0卡0脂 旭日森林仙草烏龍茶優惠:15瓶到手29元

    旭日森林無糖仙草烏龍茶510ml*15瓶平時要賣為79.9元,今日下單領取50元優惠券,到手價為29.9元。產品規格:0糖0卡0脂,添加草本仙草汁,清涼爽口,富含茶多酚,保留
  • 掘力計劃第 20 期:Flutter 混合開發的混亂之治

    在掘力計劃系列活動第20場,《Flutter 開發實戰詳解》作者,掘金優秀作者,Github GSY 系列目負責人戀貓的小郭分享了Flutter 混合開發的混亂之治。Flutter 基于自研的 Skia 引擎
  • 三言兩語說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術,可以幫助我們寫出更加優雅、泛用的函數。本文將首先介紹柯里化和反柯里化的概念、實現原理和應用
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 零售大模型“干中學”,攀爬數字化珠峰

    文/侯煜編輯/cc來源/華爾街科技眼對于絕大多數登山愛好者而言,攀爬珠穆朗瑪峰可謂終極目標。攀登珠峰的商業路線有兩條,一是尼泊爾境內的南坡路線,一是中國境內的北坡路線。相
  • 蘋果、三星、惠普等暫停向印度出口筆記本和平板電腦

    集微網消息,據彭博社報道,在8月3日印度突然禁止在沒有許可證的情況下向印度進口電腦/平板及顯示器等產品后,蘋果、三星電子和惠普等大公司暫停向印度
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
Top