iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0
自我挑戰組

Re : 從懶開始的自動化生活系列 第 22

[D22] : Pipeline Build Failed Send Alert

今天在幫團隊處理一個Flutter上的痛點,情境是這樣的,咱們的CI YAML檔上寫了,每次Trigger都會拉最新穩定版的Flutter SDK下來作為Image來Build APK。

有在碰Flutter的人可能知道最近Flutter發出了1.22穩定版,其中對一些Webview功能做了優化。但這不是我要講的重點。

有一樣Router相關的功能,也有了些改動。
細節我是不太清楚...
我只聽發現這問題的兩位同事在大喊著:

阿不就好險發現1.22版有對這東西做改動,不然Local我沒在更版的怎麼看都沒問題啊!!!!


總之因為我們有用到Router,所以在這邊炸裂了,不過只有在新版出事,所以Local沒在更新SDK的人,自然不知道這問題。

所以我DevOps就上線了

專心結束手頭上Item後,便開始思考我否做些什麼讓團隊能避免這問題呢...?

這次事件中我注意到兩個需求,

  1. 這Flutter專案建立過程中沒有去建立Pipeline Alert,大家Commit爽歪歪,它已經Build Failed一整天了。
  2. 有沒有辦法在Local Build Apk前檢查是否有新的SDK發佈出來,這樣能在Loacl就發現問題?

第一項過去有經驗,很快就解了,今天先講完怎麼做第一項。
第二項今天稍微查過,我以為同樣能用Husky解的,好像沒想像中簡單(?),有結果後再寫成文章。

Pipeline build failed send alert to Slack

  1. 到目標專案去,Settings這邊有個整合選項,進去

  2. 會看到一堆可以整合的服務,其中一樣式Slack通知,點他

  3. 基本上這邊就會引導你開始把Slack和這個專案的Pipeline綁起來了

    1. 點選Add an incoming webhook,會要把Webhook加進Slack,並選擇你要發送到哪個Chennal,最後會拿到那個Chennal的webhook網址,再回過頭加回來這個頁面上。

      --

      --
    2. 中間有一塊是問你要因為什麼事件trigger alert送往slack,這個網頁上都有寫說明,我就多不加解釋拉。
    3. 我自己的話,是選了TagPush to repo(團隊有用),和Pipeline status change
      • 可能有人會好奇,我是想要Build Failed才送通知,為什麼status change就要發?可以再看一次上面那張截圖,我勾選了Notify only broken pipeline :D。
    4. 實際發生Build Failed會像這樣發到Slack,順帶一提這個Formate是預設的,其實可以自己調整,只是我懶 :D。
      • 原諒我mark一些敏感訊息弄的整張圖沒啥好看的

希望我能找到Flutter上的Husky替代套件 > <,或其他替代方案。


上一篇
[D21] : IaaS & PaaS & SaaS
下一篇
[D23] : 嘗試在Build Apk前檢查SDK(未成功 > <)
系列文
Re : 從懶開始的自動化生活30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言