CentOS环境下Swagger更新流程
docker-compose.yml、pom.xml)、自定义代码及API文档,避免升级过程中数据丢失。若Swagger通过Docker容器运行(如Swagger UI、Swagger Editor),更新流程如下:
docker ps命令获取Swagger容器的ID或名称,然后依次运行以下命令停止并删除容器:docker stop <container_id_or_name>
docker rm <container_id_or_name>
若使用docker-compose管理容器,可直接运行docker-compose down停止并删除所有相关容器。swaggerapi/swagger-ui镜像),获取最新镜像标签(如latest或具体版本号,如3.52.5),然后运行以下命令拉取最新镜像:docker pull swaggerapi/swagger-ui:<latest_tag>
若使用docker-compose,可直接修改docker-compose.yml文件中的镜像版本(如image: swaggerapi/swagger-ui:latest),无需手动拉取。8080):docker run -d -p 8080:8080 swaggerapi/swagger-ui:<latest_tag>
若使用docker-compose,运行以下命令重新构建并启动容器:docker-compose up -d
```。
若Swagger通过手动下载安装(如Swagger UI、Swagger Codegen),更新流程如下:
v3.52.5.zip),然后运行以下命令下载:wget https://github.com/swagger-api/swagger-ui/archive/refs/tags/v3.52.5.zip
unzip v3.52.5.zip解压文件,将解压后的swagger-ui-3.52.5文件夹重命名为swagger-ui(与旧版本目录名一致),然后替换项目中的旧swagger-ui文件夹(如/var/www/html/swagger-ui)。/swagger-ui/dist/swagger-ui-bundle.js),避免因路径错误导致页面无法加载。swagger-codegen-cli-2.4.27.jar),然后运行以下命令下载:wget https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.27/swagger-codegen-cli-2.4.27.jar
/opt/swagger-codegen),替换旧版本的swagger-codegen-cli.jar文件。codegen.sh),确保指向新JAR文件的路径,并根据需要调整生成参数(如-i指定API定义文件、-l指定目标语言、-o指定输出目录)。例如:#!/bin/bash
java -jar /opt/swagger-codegen/swagger-codegen-cli-2.4.27.jar generate -i http://petstore.swagger.io/v2/api-docs -l java -o /path/to/output/directory
运行chmod +x codegen.sh添加脚本执行权限,后续可通过该脚本生成最新版本的API客户端代码。若项目使用Maven管理Swagger依赖(如springfox-swagger2、springfox-swagger-ui),更新流程如下:
pom.xml文件,找到Swagger相关依赖项(如springfox-swagger2、springfox-swagger-ui),修改version标签的值为最新版本(如2.9.2)。示例如下:<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
pom.xml中通过<exclusions>标签排除冲突的依赖。例如:<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.6</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
mvn clean install
构建成功后,将生成的WAR/JAR文件部署到CentOS服务器(如通过Tomcat、Spring Boot内置服务器),完成更新。