我有一个 ASP.NET Core Web API,并在 Azure Devops Pipeline 中构建它。构建完成后,我想提取
swagger.json
。
问题是,有问题的命令尝试启动 API,但我不希望这样做,因为它找不到所有配置,例如访问 bdd。 ^
如何在不启动 API 的情况下提取
swagger.json
文件?
我需要
swagger.json
文件,因为我使用 Azure APIM,因此需要更新 中的 swagger
cd $(System.DefaultWorkingDirectory)/src/Api/bin/Release/net8.0/
ASPNETCORE_ENVIRONMENT=Local
dotnet swagger tofile --output $(Build.ArtifactStagingDirectory)/swagger.json $(System.DefaultWorkingDirectory)/src/Api/bin/Release/net8.0/myApi.dll v1
据我测试使用
Swashbuckle.AspNetCore.Swagger
,dotnet swagger tofile
或curl
命令提取swagger.json
文件的方法,它们都需要先启动API文件,无论是在local build environment
还是通过Azure Pipelines
。看来该文件是从 swagger url
中定义的 launchSettings
导出的。
从
Azure DevOps
的故障排除角度来看,您可以在将工作流程集成到管道中之前弄清楚本地构建环境中的工作命令,这也有助于问题隔离。