在 Linux 环境下对 Swagger(OpenAPI)进行版本控制,通常可以从 文件层面、API 版本层面 和 工具层面 三个维度来做。下面给你一套实用方案。
Swagger 文档本质就是 YAML / JSON 文件,直接用 Git 管理即可。
# 初始化仓库
git init
# 添加 Swagger 文件
git add swagger.yaml
git commit -m "init swagger v1"
推荐目录结构:
api/
├── v1/
│ └── swagger.yaml
├── v2/
│ └── swagger.yaml
└── CHANGELOG.md
main:稳定版 Swaggerdev:开发中的 APIrelease/v1、release/v2:版本发布paths:
/v1/users:
/v2/users:
优点:
parameters:
- name: Api-Version
in: header
swagger-v1.yaml
swagger-v2.yaml
适合大项目,避免一个文件过于复杂。
docker run -d -p 8080:8080 swaggerapi/swagger-editor
docker run -p 8081:8080 \
-e SWAGGER_JSON=/swagger/swagger.yaml \
-v $(pwd):/swagger \
swaggerapi/swagger-ui
docker run -p 8082:80 \
-v $(pwd)/swagger.yaml:/usr/local/apache2/htdocs/openapi.yaml \
redocly/redoc
git tag v1.0.0
git tag v2.0.0
# .gitlab-ci.yml 示例
validate:
script:
- npx swagger-cli validate swagger.yaml
git log --oneline swagger.yaml
✅ 用 Git 管理 Swagger 文件
✅ 每个 API 版本一个目录或文件
✅ URL 中明确写版本号
✅ CI 中做 Swagger 校验
✅ 文档和代码同仓库或强关联
如果你使用的是 Spring Boot / Node / Go / Python,或者想用 Swagger Codegen / OpenAPI Generator,我可以给你更具体的 Linux 示例。