CI/CD 與部署架構技能
本技能引導 AI 代理和貢獻者維護 GitHub Actions CI/CD 管道、容器映像發佈以及自動化部署。
1. 本機分支優先開發與提交節奏
[!IMPORTANT] 先建立本機分支,並頻繁提交: 一律先從
main建立專屬的本機分支:git switch -c <developer-or-agent>/main/<feature-name>在每個邏輯里程碑進行提交(
提交越多 = 解釋性工作越多)。切勿直接在main上提交。
2. 多環境 CI/CD 管道
jobs:
backend-test:
name: Backend Test & Build
steps:
- uses: actions/setup-go@v5
- run: go test -v -race ./...
- run: go build -v ./...
service-test:
name: Python Service Test & Lint
steps:
- uses: astral-sh/setup-uv@v5
- run: uv sync
- run: uv run pytest
frontend-test:
name: Frontend Lint & Build
steps:
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
- run: pnpm install --frozen-lockfile
- run: pnpm run lint
- run: pnpm run build
3. 本機 CI 鏡像操作手冊
為確保您在提交前能通過 CI 檢查,請執行以下操作:
# 1. 執行預提交閘道(完全鏡像 CI 檢查)
make pre-commit
# 2. 或者,在本機個別執行 CI 工作:
# Go 後端:
go test -v -race ./... && go build -v ./...
# Python 服務:
uv run pytest
# 前端:
pnpm run lint && pnpm run build
4. 機密 vs 集中式組態
- 機密:嚴格定義在
.env/ CI 機密和執行時期儀表板中(DATABASE_URL、API_KEY、JWT_SECRET)。 - 運作預設值:集中於程式碼模組中。
- 切勿在 CI 工作流程 YAML 或 Git 提交中硬編碼機密。