正式環境部署

System ↔ System
7 個節點 · 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"