正式環境部署
System ↔ System7 個節點 · 6 條連接devops
cicdhumancli
視覺化
Lint 與型別檢查cicd
↓sequential→ 執行測試套件
執行測試套件cicd
↓conditional→ 建置成品
建置成品cli
↓sequential→ 部署至測試環境
部署至測試環境infra
↓sequential→ 冒煙測試
冒煙測試cicd
↓sequential→ 版本主管核准
版本主管核准human
↓sequential→ 部署至正式環境
部署至正式環境infra
uc-cicd-pipeline.osop.yaml
osop_version: "1.0"
id: "deploy-pipeline"
name:"正式環境部署"
nodes:
- id: "lint"
type: "cicd"
name: "Lint 與型別檢查"
- id: "test"
type: "cicd"
subtype: "test"
name: "執行測試套件"
retry_policy: { max_attempts: 2, backoff: "exponential" }
- id: "build"
type: "cli"
name: "建置成品"
- id: "deploy_staging"
type: "infra"
name: "部署至測試環境"
- id: "smoke_test"
type: "cicd"
subtype: "test"
name: "冒煙測試"
timeout_sec: 120
- id: "approve"
type: "human"
subtype: "review"
name: "版本主管核准"
security:
risk_level: "high"
approval_gate: true
- id: "deploy_prod"
type: "infra"
name: "部署至正式環境"
security:
risk_level: "critical"
edges:
- from: "lint"
to: "test"
mode: "sequential"
- from: "test"
to: "build"
mode: "conditional"
when: "test.exit_code == 0"
- from: "build"
to: "deploy_staging"
mode: "sequential"
- from: "deploy_staging"
to: "smoke_test"
mode: "sequential"
- from: "smoke_test"
to: "approve"
mode: "sequential"
- from: "approve"
to: "deploy_prod"
mode: "sequential"