前言
以前不管在單元/整合測試、部署或是一些週期性的工作,有點經驗的工程師通常會很習慣寫個 Script 去跑相關指令集。而隨著寫的服務越來越多,許多部分也微服務化後,同一個指令集可能會服務到對象也越來越多,因此就開始有了像是 Jenkins、Drone、Travis 以及本篇會介紹 GitHub Actions 這類的 CI 工具,但既然是工程師當然要把指令集內的耦合性盡可能的降到最低,因此就有像是 GitHub Marketplace 的套件市集,讓大家可以在上面選擇不同功能的工具套入於自己的 CI 中,接下來就讓我帶你來了解一下平時會遇到什麼問題,以及如何建立與使用 LINE Notify 於 GitHub Actions 上吧!
以前如何知道結果?
- 寫 Script 並用 Linux 的排程(Crontab)在固定時間跑測試案例、爬資料、部署…等狀態
- CI/CD 過了之後自己上網站看 log (沒通知)
- 即便寫通知程式在 Script 裡,未來的可用性極低(不好管控金鑰、換程式語言…)
Why GitHub Actions?
- GitHub 自家出的 CI 工具
- 專案大多放在 GitHub 上的情況
- 可達到資源 Single Source of Truth
- 市集(Marketplace)已經有許多工具可以合併使用
- 之前的文章中使用過 Python 自動打包與自動測試的工具