DevOps
建立儲存庫的 CI 管線
最小權限的 CI 流程,在提出的變更上可重現地安裝、驗證、測試並建置專案。
流程
照這個順序做。
- 閱讀儲存庫支援的執行期、套件管理員、鎖定檔、測試指令、受保護分支與既有自動化。
- 建立在拉取請求與目標分支觸發的最小工作流程,釘選執行期版本,並使用尊重鎖定檔的安裝。
- 設定明確權杖權限,避免把密鑰暴露給不受信任的貢獻,並在適當時為被取代的執行加入並行取消。
- 依序加入格式或靜態檢查、型別檢查、單元測試、整合測試與建置工作,並附合理矩陣與快取。
- 在分支上執行工作流程、檢視日誌與成品,再引入受控失敗,證明必要檢查能偵測到。
- 在啟用合併閘道前記錄檢查名稱、維護負責人、重跑程序與分支保護要求。
先準備
貓會向你要的輸入。
- 儲存庫與預設分支
- 標準安裝、檢查、測試與建置指令
- 支援的執行期矩陣
- 密鑰與分支保護政策
路由器 + 一份 playbook
先路由。只選一份。
Cat Paw 每次任務只載入一份 playbook,不合併多份。先走這個路由器;其餘路徑是此 workflow 可檢查的候選。
- 路由器:
engineering-pack skills/engineering/addyosmani/ci-cd-and-automation/SKILL.md
界線
界線跟著提示一起走。
- 使用最小權限工作流程權限,並把第三方動作釘選到可信版本或提交。
- 絕不在日誌或成品中列印或上傳密鑰。
- 不要把不穩定或略過的工作當成必要品質訊號,除非有負責人與修復計畫。
完成代表
一個可核對的終點。
拉取請求會觸發工作流程,乾淨變更上所有預定工作通過,刻意缺陷會讓必要檢查失敗,且工作流程權限與擁有權已記錄。
來源
這個流程從哪來。
- docs.github.com/en/actions/tutorials/build-and-test-code
- docs.github.com/en/actions/security-guides/automatic-token-authentication
來源確立 workflow 的模式。若有 Reddit 或社群貼文,視為實務軼事,不是普遍事實。