Backstage 1.55版本发布核心更新,为崩溃或超时任务添加自动恢复功能,解决部分长期存在的任务中断痛点,该功能通过scaffolder.taskRecovery配置段实现,可恢复任务并持久化步骤输出供后续使用,但明确要求恢复动作具备幂等性或检查点,避免过度重复执行。同时版本完成多项重大变更:移除已废弃目录API,搜索模块迁移至Elasticsearch 8以适配新版本要求;目录后端移除相关兼容性选项及已废弃的实体处理器,调整Elasticsearch及TechDocs模块要求,治理与性能优化同步推进。1.55版本覆盖多类关键需求,早期Issue反馈的脚手架流程中断问题得到部分解决,但升级仍存在多方面调整,后续通过多个补丁版本持续优化,包括修复命令与附加组件、完善安全修复等,核心问题多聚焦于治理和性能提升,为持续迭代奠定基础。

--91likeyou---

工作区序列化是可选的,需要单独的提供程序模块。新的数据库提供程序有 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 · #新增脚手架任务恢复功能 · #并移除已废弃的目录 · #项目发布开发者门户框架 · #版本 · #为崩溃或超时的软件模板任务添加了自动恢复功能。新版本还移除了一批已废弃的目录