Swagger (OpenAPI) 作为API文档工具,在Linux环境下可以通过以下几种方式实现有效的版本控制:
这是最常用的方法,将Swagger文件纳入Git版本控制系统:
# 初始化Git仓库
git init
# 添加Swagger文件(YAML/JSON格式)
git add swagger.yaml
# 提交变更
git commit -m "Initial Swagger API documentation"
# 创建版本分支
git checkout -b v1.0.0
在Swagger文件内部定义版本信息:
openapi: 3.0.0
info:
title: Sample API
description: API description
version: 1.0.0
# 其他元数据...
通过文件名区分不同版本:
/api-v1.yaml
/api-v2.yaml
api-docs/
├── v1/
│ └── swagger.yaml
├── v2/
│ └── swagger.yaml
└── current -> v2/ # 符号链接指向当前版本
使用Jenkins/GitLab CI等工具自动化版本发布:
# .gitlab-ci.yml 示例
stages:
- deploy
deploy_swagger:
stage: deploy
script:
- cp swagger.yaml /var/www/api-docs/v${CI_COMMIT_TAG}.yaml
- ln -sf /var/www/api-docs/v${CI_COMMIT_TAG}.yaml /var/www/api-docs/current.yaml
only:
- tags
Swagger Hub提供企业级API版本控制功能,支持: - 自动版本管理 - 变更对比 - 团队协作 - 发布管理
如使用Kong/Nginx等网关,可以:
- 通过URL路径区分版本 /v1/api
, /v2/api
- 将不同版本路由到不同后端服务
- 同时维护对应版本的Swagger文档
swagger-cli - 用于验证和合并Swagger文件
npm install -g swagger-cli
swagger-cli validate api.yaml
redoc-cli - 生成可版本控制的HTML文档
npm install -g redoc-cli
redoc-cli bundle -o v1.html api-v1.yaml
git-swagger - 专为Swagger设计的Git工作流工具
通过以上方法的组合使用,可以在Linux环境下有效管理Swagger API文档的版本演进。