好文分享 — 麥當勞怎麼做 CI (Continuous Integration)

想不到吧!麥當勞也有 Technical Blog!

Reduce, reuse, recycle: McDonald’s reusable workflows” 1 文是由麥當勞的工程師分享他們怎麼透過可共用的 GitHub Actions 幫助各個團隊/工程師做到持續整合(CI)流程。

說到 CI 流程,最常見的問題就是每個產品有各自的流程,所以很難有 1 套 CI 流程適用於所有的產品,這個問題很可能導致每個產品的程式碼品質與標準不一,而且新的產品也需要經歷一次重新打造 CI 流程。

麥當勞的工程團隊則是透過提供各種共用、可重複使用的 GitHub Actions 與 Containers 給各個團隊使用,譬如 code quality, security, testing 等相關 Actions, 每個產品都可以很輕易地挑選合適的 Actions 進行整合。

除此之外,麥當勞的工程團隊還為每個 repository 自動加入預設的 GitHub Actions 設定,該設定會讓每個 repository 執行標準化的 CI 流程,稱為 Golden Path, 所以每個 repository 產出都有基本的品質保證,在此基礎之上,每個 repo 還是保有擴充的彈性,可以為 CI 流程加上客製化的流程。

這種共用的 GitHub Actions 以及標準 CI 流程,甚至可以輕鬆地加入監控(monitor)的功能,因為只要改 1 個 Actions 加入收集數據的功能,就可以得到所有 repository 的狀況。

讀完這篇文章,我就想到以前也有遇到類似的問題,但當時沒有想到可以共用,反而是為每個 repository 複製 1 套流程,有點可惜了 :(

Reduce, reuse, recycle: McDonald’s reusable workflows

對抗久坐職業傷害

研究指出每天增加 2 小時坐著的時間,會增加大腸癌、心臟疾病、肺癌的風險,也造成肩頸、腰背疼痛等常見問題。

然而對抗這些問題,卻只需要工作時定期休息跟伸展身體即可!

你想輕鬆改變現狀嗎?試試看我們的 PomodoRoll 番茄鐘吧! PomodoRoll 番茄鐘會根據你所設定的專注時間,定期建議你 1 項辦公族適用的伸展運動,幫助你打敗久坐所帶來的傷害!

追蹤新知

看完這篇文章了嗎?還意猶未盡的話,追蹤粉絲專頁吧!

我們每天至少分享 1 篇文章/新聞或者實用的軟體/工具,讓你輕鬆增廣見聞提升專業能力!如果你喜歡我們的文章,或是想了解更多特定主題的教學,歡迎到我們的粉絲專頁按讚、留言讓我們知道。你的鼓勵,是我們的原力!

贊助我們的創作

看完這篇文章了嗎? 休息一下,喝杯咖啡吧!

如果你覺得 MyApollo 有讓你獲得實用的資訊,希望能看到更多的技術分享,邀請你贊助我們一杯咖啡,讓我們有更多的動力與精力繼續提供高品質的文章,感謝你的支持!