Backstage 1.55版本带来了多项重要功能与结构调整,核心聚焦于提升任务处理与系统性能。版本新增脚手架任务自动恢复功能,通过配置段启用后,可保存任务密钥及已完成步骤输出,支持从最后步骤精准恢复,解决崩溃或超时任务的处理难题。同时,移除废弃目录API并迁移搜索模块至Elasticsearch 8,降低升级复杂度。此外,补充多项治理优化,如目录实体关系配置简化、插件加载优化、权限策略调整等,以平衡功能扩展与系统性能。整体来看,此次版本在解决长期需求的同时,通过多项关键调整实现了架构升级,为平台用户提供了更稳定、高效的开发运维支持,显著提升了软件模板任务的可靠性与系统运行效率。
--91likeyou---
该功能满足了一个长期存在的需求。2025 年 4 月,在一条跟踪脚手架任务重试的 GitHub Issue 中,Manoj Azad 写道:“目前不得不重新运行整个脚手架流程,不仅不方便,从技术角度来看也有问题。” 1.55 版本的功能覆盖了因崩溃或超时中断的任务,解决了上述需求中的一部分。
工作区序列化是可选的,需要单独的提供程序模块。新的数据库提供程序有 50 MB 限制,适用于开发环境,发布说明建议生产环境安装使用 GCP 模块或类似的外部存储。
大部分升级工作量集中在处理重大变更上。目录后端移除了 catalog.enableRelationsCompatibility 选项,实体关系现在仅返回 targetRef,同时移除了已废弃的 CodeOwnersProcessor 和 AnnotateScmSlugEntityProcessor,推荐改用社区模块。Elasticsearch 模块现在要求 Elasticsearch 8.19 或更高版本,但 AWS 与 OpenSearch 提供程序不受影响;读取原始客户端响应的自定义代码需要修改。TechDocs 不再加载不在内置白名单内的 MkDocs 插件,如果团队需要额外插件,必须在 techdocs.generator.mkdocs.dangerouslyAllowAdditionalPlugins 中显式列出。其他重大变更涉及 Backstage UI 链接组件、GitHub 代码库创建动作、增量摄取权限以及 Sentry 脚手架动作。
多项变更聚焦于治理与性能提升。最早在1.54.6 补丁版本引入的 scaffolder.requireScmUserCredentials 选项要求受支持的 GitHub、GitLab、Bitbucket 和 Azure DevOps 动作使用用户提供的凭证。拒绝未知权限的权限策略现在必须显式允许 scaffolder.template.dry-run 才能保证模板试运行正常工作。Veepee 高级 SRE Michael Todorovic 修改了 GitLab 合并请求与推送动作,改为在本地对比文件。他写道:“publish:gitlab:merge-request 在自建 GitLab 上需要耗时 5 至 15 秒。结果发现几乎所有时间都消耗在动作向 GitLab 查询它本已拥有的信息。”这个改动将一个包含数百个文件仓库的 API 请求量从约 300 次减少到 10 次以内,原本 5 至 15 秒的步骤缩短至约 3 秒。目录、搜索、TechDocs 等核心插件现在仅在页面渲染时才加载页面,减小了应用初始打包体积。
自 9 月 15 日起,维护者已经发布了三个补丁版本。1.55.1版本修复了新的 backstage-cli pm verify-patches 命令和新前端系统的 TechDocs 附加组件;而 1.55.2 和 1.55.3 版本修复了 TechDocs 对 MkDocs Markdown 扩展配置的处理逻辑。
该版本还列出了 7 个软件包的安全修复,包括 OIDC、Cloudflare Access 认证提供程序以及代理后端。Cloudflare Access 提供程序现在需要在配置中填写应用受众标识。下一个次要版本已经进入预发布阶段,1.56.0-next.2 已于 10 月 6 日发布。
查看英文原文:
🔥 热词:#55 · #Backstage · #API · #新增脚手架任务恢复功能 · #并移除已废弃的目录 · #项目发布开发者门户框架 · #版本 · #为崩溃或超时的软件模板任务添加了自动恢复功能。新版本还移除了一批已废弃的目录