温馨提示×

Ubuntu Swagger版本如何更新

小樊
38
2026-01-02 19:37:33
栏目: 智能运维

Ubuntu 上 Swagger 的更新方式取决于你的安装形态。常见有本机 Node.js/npm 安装、Docker 容器运行、以及集成在后端框架(如 Spring Boot)中的 Swagger/OpenAPI 工具链。下面按场景给出可操作的升级步骤与要点。

本机 Node.js 与包管理器安装

  • 确认当前包与版本:
    • npm:执行命令查看可更新包与当前版本差异:npm outdated | grep swagger
    • yarn:执行命令:yarn outdated | grep swagger
  • 执行升级(以常用组件为例):
    • Swagger UI:npm update swagger-ui-distyarn upgrade swagger-ui-dist
    • Swagger Editor:npm update swagger-editoryarn upgrade swagger-editor
    • Swagger Codegen(OpenAPI Generator CLI):npm update @swagger-api/swagger-codegen-cliyarn upgrade @swagger-api/swagger-codegen-cli
  • 升级后验证:
    • 检查版本:npm list swagger-ui-distnpm list swagger-editornpm list @swagger-api/swagger-codegen-cli
    • 清理与重启:如有缓存或进程占用,执行 npm cache verify,并重启承载服务(如 npm run serve 或 PM2 管理的进程)。

Docker 运行时的更新

  • 拉取最新镜像(以官方镜像为例):
    • Swagger Editor:docker pull swaggerapi/swagger-editor:latest
    • Swagger UI:docker pull swaggerapi/swagger-ui:latest
  • 滚动更新(零停机思路,示例以 UI 为例):
    • 启动新容器:docker run -d --name swagger-ui-new -p 8081:8080 swaggerapi/swagger-ui:latest
    • 确认可用后切换流量并清理旧容器:
      • 切换 Nginx/负载均衡指向新端口 8081
      • 停止旧容器:docker stop swagger-ui-old && docker rm swagger-ui-old
  • 若使用 docker-compose,更新镜像后执行:docker-compose pull && docker-compose up -d --force-recreate

集成在后端框架中的更新

  • Spring Boot 项目常见从 SpringFox(Swagger 2) 迁移到 SpringDoc(OpenAPI 3),以适配新生态与修复兼容性问题:
    • 移除 SpringFox 依赖,新增 SpringDoc 依赖(Maven 示例):
      • org.springdoc springdoc-openapi-ui 2.0.2
    • 注解迁移:将 io.swagger.annotations 替换为 io.swagger.v3.oas.annotations
    • 访问路径变化:默认 UI 从 /swagger-ui.html 调整为 /swagger-ui/index.html(版本与配置不同可能略有差异)
    • 如仍在用 Swagger 2,建议规划迁移到 OpenAPI 3,以获得更好的维护与兼容性支持。

升级前后注意事项

  • 备份与回滚:升级前备份项目配置、静态资源与容器镜像标签;准备好回滚方案(如保留旧版镜像与目录)。
  • 兼容性验证:升级后重点回归接口分组、鉴权、模型定义与自定义扩展,确保文档展示与对接客户端正常。
  • 安全建议:生产环境可限制文档访问来源、鉴权访问或按需禁用,避免暴露内部接口细节。

0