白話文解說 GitHub Actions
GitHub 有 1 個功能稱為 GitHub Actions, 可以讓開發者自動化軟體開發流程,例如編譯、測試,甚至是部署等等,你可以選擇在主線(main branch)更新時觸發你所設定的動作,或者在特定情況下觸發特定行為,例如推送 commit 到新的分支時就自動進行測試以及掃描弱點等等,這些都可以在 GitHub Actions 中做到。
我個人比較常用的都是在 dev 與 main 分支執行單元測試,確保程式碼至少有一定的品質。
不過 GitHub Actions 有執行時間的限制,以 Free 方案為例,每月僅能執行 2,000 分鐘,所以使用時要特別注意使用時間的問題,如果自動化任務的執行時間很長,那麼就很容易踩到上限,使用時最好思考要在哪些分支使用 GitHub Actions 。
另外 GitHub Actions 的 runner 會在虛擬機器或者 container 中執行(視 OS 而定),如果 OS 是 Linux 或者 Windows 就是在微軟的 Azure 環境中執行,如果 OS 是 macOS 則是在 GitHub 自己建置的 macOS Cloud 中執行,不管在哪裡執行,這些 runner 都有權限可以取得你的程式碼並且執行相關任務,所以使用 GitHub Actions 時要注意第三方有存取程式碼的權限,以及其所衍伸的資安風險,如果你/公司/團隊覺得交給 GitHub/Microsoft 不夠安全的話,建議自行架設 GitHub Actions Runner 在你的內部開發環境。
最後附上一些關於 GitHub Actions 的相關資源,祝大家用得開心: