Launch Atlas logoLaunch.Atlas
#38ShipDevOps · SRE開發者

CI/CD Pipeline

讓『可發布』從人工判斷變成 pipeline 證據

CI/CD Pipeline · 卡片插圖
CHOOSE YOUR MODE

先決定你現在是要學,還是要在專案裡做

網站負責解釋與分發工作包;真正的 Repository 掃描、缺口判斷與文件產出交給 Coding Agent。

SDLC 實作課 · 交付物練習

先理解這份文件替你消除什麼不確定

讓『可發布』從人工判斷變成 pipeline 證據

業界公認的四個交付指標(部署頻率、前置時間、變更失敗率、復原時間)都依賴一件事:pipeline 可信。CI/CD 把 build、test、scan、artifact、deploy 串成可重現流程,並留證據鏈。

OWNER & HANDOFF

誰負責、交給誰

主責: DevOps

協作: Dev(測試 stage)、Security(SAST/SCA gate)、SRE(部署策略)

下游收件: Release Plan、Rollback Plan、Audit

WHEN TO USE

何時值得做

REQUIRED

必要時機: 多人協作、跨環境部署、合規要求

SKIP

不需要時: 一次性腳本、個人實驗

CAUTION

常見誤用: pipeline 通過就上線,沒有 release gate;artifact 不可重現

看懂6 段骨架知道每段要留下哪一種判斷
看會雙版本範本先用輕量版練習,再讀完整版
做出自己的草稿手動貼到 Claude Code、Codex 或其他 Agent
  1. 01讀大綱
  2. 02比範本
  3. 03填素材
  4. 04貼提示詞
  5. 05對照驗收

Anatomy · 文件解剖

輕量版先回答 6 個核心章節

章節名稱可以因團隊調整,但每一段要求的判斷不能被省略。先讀問題,再看格式。

  1. 01

    Executive Summary

    範本必要章節

    3-5 行,Dev Lead 30 秒讀完。寫「目前 pipeline 多長、最弱的 gate、最大的 supply-chain gap」

  2. 02

    Stages

    範本必要章節

    至少 5 個標準 stage(lint / test / build / sec_scan / deploy / smoke)。每階段標 duration_p95 + 是否可並行

  3. 03

    Gates per Stage

    範本必要章節

    每階段必須有明確 gate 與 fail_action(block / warn / manual_review)。輕量版至少覆蓋 test / sec_scan

  4. 05

    Secret Management

    範本必要章節

    必含 storage / rotation / audit_log 三件;缺一即 supply-chain risk

  5. 07

    Redundancy to Remove

    範本必要章節

    至少列 1 條冗餘 stage + DORA 影響估算 + 移除後風險

  6. 10

    Decision Log(key 2-3 條)

    範本必要章節

    每條必含 chosen + 至少 1 個 rejected option + 拒絕原因

Study · 對照學習

同一份交付物,先練核心,再看完整深度

輕量範本適合第一次練習與 MVP;完整範本保留跨職能交棒需要的細節。兩者都要求未知事項保持可見。

SmartTrip 實例待補

這張卡目前提供已審定的輕量與完整範本;不以 AI 臨時生成的內容冒充實際案例。

LIGHT TEMPLATE

30 分鐘內先完成核心章節。

---
doc_type: "ci-cd-pipeline"
variant: "light"
status: "draft"
owner: "<your-name>"
last_updated: "YYYY-MM-DD"
upstream:
  required: ["current-pipeline-yaml", "dora-targets"]
  optional: ["security-policy"]
---

# CI/CD Pipeline Audit: <repo-name>

**Status:** Draft v0.X · **Owner:** <DevOps name> · **Last updated:** YYYY-MM-DD

> [!IMPORTANT]
> **AI 填寫規則:** 本範本 6 段(編號 1, 2, 3, 5, 7, 10),全部必填——刻意沿用完整版的章節編號讓兩版可對照。每結論行內加 `(依據:pipeline-yaml §XXX / dora §YYY)`;每量化欄位加 `[H]/[M]/[L]` confidence badge;缺資料寫 `_TODO: 需要 XXX_` 不編造;Redundancy 識別必須附「移除後對 DORA metric 的預估影響」。

---

## 1. Executive Summary

<!-- ai-fill: 3-5 行,Dev Lead 30 秒讀完。寫「目前 pipeline 多長、最弱的 gate、最大的 supply-chain gap」 -->

<3-5 行說明>

> **TL;DR:** <一句話:最該動的 stage + 預估 lead time 縮短>

---

## 2. Stages

<!-- ai-rule: 至少 5 個標準 stage(lint / test / build / sec_scan / deploy / smoke)。每階段標 duration_p95 + 是否可並行 -->

| Stage | Purpose | Duration p95 | Parallelizable | Confidence |
|---|---|---|---|---|
| lint | 風格 + 靜態檢查 | 1 min | yes | **[H]** |
| test | unit + integration | 6 min | yes | **[H]** |
| build | 產出可重現 artifact | 4 min | no | **[H]** |
| sec_scan | SAST / SCA / secret scan | 3 min | yes | **[M]** |
| deploy | rollout to staging | 2 min | no | **[H]** |
| smoke | post-deploy 健康檢查 | 1 min | no | **[H]** |

---

## 3. Gates per Stage

<!-- ai-rule: 每階段必須有明確 gate 與 fail_action(block / warn / manual_review)。輕量版至少覆蓋 test / sec_scan -->

| Stage | Gate | Fail action | Confidence |
|---|---|---|---|
| test | unit coverage ≥ 80% | block | **[H]** |
| sec_scan | SAST high = 0 · secrets = 0 | block | **[H]** |
| smoke | health endpoint 200 in 30s | block | **[H]** |

---

## 5. Secret Management

<!-- ai-rule: 必含 storage / rotation / audit_log 三件;缺一即 supply-chain risk -->

- **Storage:** <vault / OIDC short-lived / env> **[H]**
- **Rotation:** <policy + interval> **[M]**
- **Audit log:** required / _TODO: 缺 audit trail_

---

## 7. Redundancy to Remove

<!-- ai-rule: 至少列 1 條冗餘 stage + DORA 影響估算 + 移除後風險 -->

| Stage / step | Reason redundant | DORA impact | Risk if removed |
|---|---|---|---|
| <例:重複的 lint job> | <為何重複> | lead time -2 min | <例:失去某 PR check> |

---

## 10. Decision Log(key 2-3 條)

<!-- ai-rule: 每條必含 chosen + 至少 1 個 rejected option + 拒絕原因 -->

| Date | Decision | Options | Chosen | Rejected why | Confidence |
|---|---|---|---|---|---|
| YYYY-MM-DD | runner 選型 | self-hosted vs managed | managed | self-hosted (維運成本 > 收益) | **[H]** |

---

> [!CAUTION]
> **輸出前 AI 自檢:**
> - [ ] 6 段 H2 章節齊全(編號 1, 2, 3, 5, 7, 10)
> - [ ] Stages 表至少含 lint / test / build / sec_scan / deploy / smoke
> - [ ] Gates 段至少覆蓋 test + sec_scan 兩階段
> - [ ] Secret management 含 storage / rotation / audit_log 三件
> - [ ] Redundancy 段附 DORA impact 估算
> - [ ] Decision Log ≥ 1 條,含 rejected reason
> - [ ] 無 YAML / JSON schema 輸出

Practice · 換你試做

先用自己的話交代素材,不需要先學會工程術語

確定的就寫,不確定的留白。下一步要做的是請 Agent 找缺口,不是讓它替你猜一套合理答案。

可以先留白;複製提示詞後再到 Coding Agent 裡補充。

AI Practice · 手動三步

先問、再寫、最後審,不把整條流程鎖死

每一步都是獨立工作包。你可以停下補資料、修改限制或重做某一步,不需要服從固定的 Agent 接力流程。

STEP 01

只找阻擋文件成立的未知

先補會改變範圍、判斷或驗收結果的資訊,不急著寫文件。

我要製作「CI/CD Pipeline」。先不要產出文件。

請根據我的素材,找出會影響這份文件正確性或可執行性的未知事項,一次最多問 5 題。

每題請包含:
1. 問題
2. 為什麼現在必須知道
3. 它會影響哪個章節或決定

已經回答的事不要重問;可以延後的事標成「待決策」;不要替我猜答案。

本文件的核心章節:Executive Summary、Stages、Gates per Stage、Secret Management、Redundancy to Remove、Decision Log(key 2-3 條)

複製後,請在標示位置貼上自己的素材。

Review · 自己驗收

文件存在,不代表下一個角色真的能使用

逐條檢查 Agent 的輸出。人類負責需求、限制與驗收,也必須能說明重要結論從哪裡來。

CHECKED0 / 6
NEXT HANDOFF

帶著這份文件,繼續到「Release Plan · 上線計畫」

下一張卡會接住新的決策問題;不用一次把整條 SDLC 全做完。

前往下一張卡