大家好!
我们之前已经学习了Backstage是什么以及为什么需要它。现在,我们将深入探讨开发人员在实际工作中访问和使用最多的Backstage的5大核心功能。让我们一起看看这些功能如何相互作用,共同构建“黄金路径(Golden Path)”! 🌟

📌 本篇博文的学习目标 (Learning Objectives)
阅读本文后,您将完全理解以下内容:
- 理解软件目录(Catalog)的概念和工作原理 📑
- 通过Scaffolder实现自动化项目创建的方法 🏗️
- 掌握搜索(Search)功能的扩展性 🔍
- 学习TechDocs如何实现“代码即文档” 📝
- 利用插件(Plugins)制定门户定制策略 🧩
1. 一切的开始:软件目录 (Software Catalog) 📑
软件目录是Backstage最核心的功能,也是所有功能的基石。
- 目的:将组织内分散的网站、API、库、资源等所有软件资产映射到中央目录。
- 工作方式:每个实体(Entity)的详细信息都定义在与源代码一起存储的YAML文件中。这确保了当代码更新时,目录信息也能保持最新。
- 主要优点: * 清晰地追踪资产的所有权(Ownership)和依赖关系(Dependencies)。
- 帮助发现没有父实体的“孤立实体(Orphaned entities)”,从而协助系统清理。
- 成为提取安全警告或成熟度指标等洞察力的来源。
2. 标准化的起点:Scaffolder 🏗️
当新团队成员加入时,这个功能能为“我应该从哪里开始?”这个问题提供最完美的答案。
- 核心功能:执行预定义的软件模板,即时创建包含骨架代码和已完成配置的存储库。
- 推荐黄金路径(Golden Path):提供内置CI/CD、分析工具等的模板,让新开发人员只需点击几下即可拥有一个可部署的服务。
- 与目录的联动:通过Scaffolder创建的服务会自动注册到目录中,形成一个良性循环,提高可发现性。
3. 代码管理文档:TechDocs 📝
文档化很重要,但管理起来却很困难。TechDocs通过“Documentation-as-code”的方式解决了这个问题。
- 工作原理:将Markdown文件与源代码一起管理,Backstage会获取它们并将其转换为漂亮的静态页面。
- 开发者友好:开发人员无需关心文档发布过程,只需专注于编写Markdown。导航菜单和UI元素由TechDocs自动配置。
4. 确保基础设施可见性:Kubernetes ☸️
Backstage提供了一个插件,允许开发人员直接可视化每个服务的集群状态。
- 状态检查:一目了然地掌握开发、暂存和生产环境的集群健康状况。
- 目录联动:根据目录中注册的服务信息,直接从GKE等外部集群提供商获取数据并显示。
5. 生态系统集成搜索:Search 🔍
随着组织规模的扩大,查找所需信息的效率决定了生产力。
- 灵活的扩展性:虽然它默认支持ElasticSearch,但您可以集成符合组织偏好的搜索引擎。
- 集成搜索:通过Collator收集并索引目录信息以及TechDocs、Stack Overflow等数据,实现一次性搜索。
🧩 通过插件实现无限扩展
上述所有功能实际上都是Backstage团队维护的核心插件。然而,Backstage的真正价值来自于社区插件。
- 供应商集成:您可以将PagerDuty的事件信息或ArgoCD的状态引入门户。
- 自定义插件:如果组织内部有特殊需求,您可以直接编写插件来扩展功能。
如果能充分利用今天总结的5大功能,您的组织也能像Spotify一样构建强大的开发文化。下一章,我们将更详细地探讨如何实际配置最重要的软件目录! 🚀
发表回复