← 中文资源

简体中文版本

在服务目录中声明归属

添加包含负责人、生命周期和值班引用的 catalog-info.yaml,并在 CI 中校验生产服务必有归属。

阅读英文原文

概述

每次告警、依赖升级和下线都需要具体的人或团队行动。归属不明确时,响应者只能猜测,变更也会停滞。服务目录描述文件把归属变成显式且机器可读的信息,让值班工具、文档和依赖图都指向同一个团队。

步骤

  1. 在代码仓库中添加服务描述文件:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
  name: payments-api
  annotations:
    pagerduty.com/service-id: PABC123
spec:
  type: service
  lifecycle: production
  owner: group:default/payments
  system: checkout
  1. 通过目录的 locations API 或 GitHub 发现机制注册该文件。
  2. 在 CI 中用 yq -e 校验 spec.owner、spec.lifecycle 和 metadata.name 存在,缺失即失败。
  3. 校验 owner 对应的 group 在目录中存在,返回 404 时要求修正。

验证

预期服务在目录 UI 中出现,负责人组和值班服务可点击跳转;删除 spec.owner 的 PR 会导致 CI 失败。用 API 查询 group 时应返回 200,组件列表中不存在无归属的生产服务。

注意事项

  • 组织调整后归属容易过期,应在团队解散或重组时同步更新。
  • 目录条目不能保证值班轮换覆盖,需要单独验证值班集成。
  • 同名组件会造成冲突,通用名称应加领域或团队前缀。
  • 描述文件放在代码仓库中,随服务变更一起评审。