跳到主要內容
GH-200 四週讀書計畫
第 1 週:觸發條件、工作流程結構與輸出
- 建立考試地圖
閱讀:讀認證頁、Study Guide 與五領域權重,再讀開始使用章。
產出:畫出五領域與 14 個 objective 的一頁地圖。
過關標準:能不看資料說出五領域與權重區間。 - 觸發條件與預設分支
閱讀:D1-O1:只讀預設分支的事件、各事件的 GITHUB_SHA 與 GITHUB_REF、schedule 規則。
產出:整理事件與 SHA、REF 的對照表。
過關標準:能說出 schedule 與 pull_request 各拿到哪個 commit。 - 手動觸發、呼叫與權限
閱讀:D1-O1:workflow_dispatch inputs、workflow_call、permissions、GITHUB_TOKEN 觸發的例外。
產出:寫出 inputs 與 github.event.inputs 的差異。
過關標準:能解釋 boolean 條件為什麼永遠不成立。 - jobs、contexts 與 expressions
閱讀:D1-O2:needs、if、各位置可用的 context。
產出:畫出 context 可用位置表。
過關標準:能說出 secrets 為什麼不能直接用在 if。 - 矩陣與服務容器
閱讀:D1-O2:include、exclude、fail-fast、services 的連線方式。
產出:展開一個矩陣的所有組合並算出 job 數。
過關標準:能說出容器內與 runner 上連服務的主機差異。 - 快取與成品
閱讀:D1-O3:快取鍵查找順序、分支範圍、成品不可變與保留期。
產出:整理快取查找順序與可還原的分支。
過關標準:能說出一次執行可還原哪些分支的快取。 - 資料傳遞與摘要
閱讀:D1-O3:GITHUB_ENV、GITHUB_OUTPUT、job outputs、工作摘要、add-mask。
產出:做一張 job 與步驟間傳資料的對照表。
過關標準:能區分 outcome 與 conclusion。
第 2 週:疑難排解、範本與自訂 actions
- 日誌與除錯記錄
閱讀:D2-O1:Actions 日誌、Search logs、ACTIONS_STEP_DEBUG 與 ACTIONS_RUNNER_DEBUG。
產出:寫出兩個除錯設定各自多出什麼。
過關標準:能說出 secret 與 variable 同時存在時哪個優先。 - 重新執行
閱讀:D2-O1:重跑三種方式、30 天與 50 次限制、沿用原 commit。
產出:做一張 UI、CLI、REST 三種重跑的對照表。
過關標準:能說出為什麼重跑不會測到新 commit。 - 成品與日誌的存取
閱讀:D2-O2:REST 與 CLI 取得日誌、成品、302 導向與 1 分鐘網址。
產出:寫出下載成品的完整呼叫步驟。
過關標準:能說出下載網址的有效時間與刪除連動。 - 起始工作流程與重用
閱讀:D2-O3:三種重用機制、組織範本的檔案、停用與啟用。
產出:做一張可重用工作流程、複合 action、起始工作流程的比較表。
過關標準:能依需求選出正確的重用機制。 - action 類型與 JavaScript action
閱讀:D3-O1:三種類型、JavaScript action 結構、打包與 pre、post。
產出:寫出三種類型可執行的作業系統。
過關標準:能說出為什麼不提交 node_modules。 - 中繼資料與複合 action
閱讀:D3-O1、D3-O2:action.yml 必填欄位、inputs 與 outputs、複合 action 的規則。
產出:寫出複合 action 輸出需要的欄位。
過關標準:能說出 required: true 不會自動報錯。 - 散布與版本維護
閱讀:D3-O3:三種散布模式、Marketplace 條件、版本標籤、immutable releases。
產出:寫出發佈 v1.4.0 時要移動的標籤。
過關標準:能說出 immutable releases 對移動標籤的影響。
第 3 週:企業治理、runners 與安全
- 組織與企業政策
閱讀:D4-O1:允許的 actions、樣式語法、SHA 固定、企業覆蓋規則、fork PR 政策。
產出:寫出組織與企業政策的覆蓋方向。
過關標準:能說出企業停用的政策下層能不能啟用。 - 自管 runner
閱讀:D4-O2:連線需求、自動更新、暫時性 runner、job 選擇 runner 與排隊。
產出:整理自管 runner 的限制與數字。
過關標準:能說出 60 秒、24 小時與 30 天各代表什麼。 - runner 群組與 larger runners
閱讀:D4-O2:runner 群組、larger runners、靜態 IP、監控與疑難排解。
產出:畫出 runner 群組的存取關係。
過關標準:能說出群組預設開放給哪些 repository。 - secrets 與 variables
閱讀:D4-O3:三層級、優先順序、存取規則、REST 與 LibSodium。
產出:寫出 secrets 在 fork 與 Dependabot 下的行為。
過關標準:能說出同名 secret 在三層級的優先順序。 - 環境與 actions 信任
閱讀:D5-O1:環境保護規則、挑選與固定 actions、Dependabot 與 CODEOWNERS。
產出:寫出環境保護規則的清單與數字。
過關標準:能說出為什麼標籤不如 SHA 安全。 - script injection 與 GITHUB_TOKEN
閱讀:D5-O1:script injection 防範、GITHUB_TOKEN 生命週期與權限。
產出:寫出把運算式改成環境變數的範例。
過關標準:能說出自管 runner 上權杖最多更新多久。 - OIDC、證明與最佳化
閱讀:D5-O1、D5-O2:OIDC claims、成品證明、限制、concurrency 與成本。
產出:做一張 OIDC 與長期 secret 的比較表。
過關標準:能說出 id-token: write 並不給資源寫入權限。
第 4 週:整合、題庫與模擬考
- 整合章:控制鏈
閱讀:整合章:從觸發到部署的控制鏈、題幹辨識順序。
產出:把自己的 repository 寫成一頁控制鏈。
過關標準:能指出哪一格只是「覺得是這樣」。 - 題庫:領域一與二
閱讀:做題庫 D1、D2 的題目並讀完所有解析。
產出:記錄每一題答錯的原因類型。
過關標準:答對率高於七成,並寫出錯誤原因。 - 題庫:領域三與四
閱讀:做題庫 D3、D4 的題目並讀完所有解析。
產出:更新錯題清單與必背句。
過關標準:答對率高於七成,並能說出混淆的概念。 - 題庫:領域五與整合題
閱讀:做題庫 D5 的題目與整合章情境題。
產出:整理跨領域陷阱表。
過關標準:答對率高於七成,並能說出各題的限制詞。 - 仿真考:第一部分情境題
閱讀:在仿真考模式完成第一部分十題情境題。
產出:記錄每個現象的判斷依據。
過關標準:能對每個現象說出原因與依據的文件。 - 錯題複習與數字記憶
閱讀:回看錯題、必背句與數字(6、30、50、256、1 分鐘、24 小時)。
產出:把每個數字配一條它代表的規則。
過關標準:不看資料能說出主要數字各自的規則。 - 考前檢核
閱讀:讀考前速查與考試日檢查清單,再做一次完整仿真考。
產出:完成考前檢查清單。
過關標準:仿真考正確率穩定,且能說出弱點領域的補救計畫。
錯題分類與補強
- 功能混淆
- 症狀:把相近的機制當成同一個,例如可重用工作流程與複合 action。
補強:回到章節的對照表,寫出各自的使用層級與限制。 - 題幹漏讀
- 症狀:忽略「預設分支」「私有」「自管」「組織層級」等限制詞。
補強:圈出限制詞後再看選項。 - 數字記錯
- 症狀:把 6 小時、5 天、30 天、50 次、256 個、1 分鐘等數字互換。
補強:每個數字配一個它代表的規則,寫成必背句。 - 直覺錯誤
- 症狀:依常理選答案,但官方行為違反直覺,例如重跑不會拿到新 commit。
補強:把違反直覺的行為記進陷阱清單,並在練習 repository 驗證。