【问题标题】:Azure Pipeline - build and gen swagger docAzure Pipeline - 构建和生成 swagger 文档
【发布时间】:2020-01-08 00:41:59
【问题描述】:

我的项目是一个 AspNet Core 2.2 Api,我在 Azure Pipelines(经典)中构建它

  1. 我在工作开始时将Use .NET Core 任务设置为 2.2
  2. 我已经使用 .NET Core 任务 和带有参数install swashbuckle.aspnetcore.cli --version 5.0.0-rc4 --globalcustom 工具命令安装了工具,这似乎有效;如果我再次运行此任务,则会失败并显示该工具已安装的消息。
  3. 然后在我的 CI 构建中,我添加了一个带有设置的 .NET Core 任务

    • 自定义命令
    • 项目路径到csproj 文件路径
    • swagger 的自定义命令
    • tofile --output $(Build.ArtifactStagingDirectory)/swagger.json $($(Build.ArtifactStagingDirectory)_Dxxxxx.Api.dll v1 的参数

我收到此错误No executable found matching command "dotnet-swagger"

帮助!

【问题讨论】:

  • 尝试添加你的.csproj这个:<ItemGroup> <DotNetCliToolRefernce Include-Swashbuckle.AspNetCore.Cli" Version="5.0.0" /> </ItemGroup>
  • 你在本地的vs中试过了吗?此错误似乎与 Azure DevOps 无关,请关注 github.com/domaindrivendev/… 并在本地执行此操作,看看是否可以重现该问题。很可能是 cli 工具未正确安装,或者此工具与您的核心 sdk 之间存在版本冲突。
  • 我还没有找到解决该问题的具体方法 - 我已为每个 @ShaykiAbramczyk cmets 添加了 DotNetCliToolRefernce。但是我通过添加一个命令行任务来解决它并直接从这个任务执行 swagger.exe

标签: asp.net-core swagger azure-pipelines swashbuckle swashbuckle.examples


【解决方案1】:

这是一个使用由 Swagger Codegen 团队维护的 JAR 的工作示例。

我使用了公开的 microsoft speech-to-text-api-v3 API,但可以随意更改它。

trigger:
  - master

variables:
  jar_version: 3.0.29


- job: swagger_client
  pool:
    vmImage: 'ubuntu-latest'
  steps:
  - task: JavaToolInstaller@0
    inputs:
      versionSpec: '11'
      jdkArchitectureOption: 'x64'
      jdkSourceOption: 'PreInstalled'
    displayName: 'Set-up Java'
  - script: |
      java -version
      wget https://repo1.maven.org/maven2/io/swagger/codegen/v3/swagger-codegen-cli/$(jar_version)/swagger-codegen-cli-$(jar_version).jar -O swagger-codegen-cli.jar
      java -jar swagger-codegen-cli.jar generate \
        -i https://westus.dev.cognitive.microsoft.com/docs/services/speech-to-text-api-v3-0/export\?DocumentFormat\=Swagger\&ApiName\=Speech%20to%20Text%20API%20v3.0 \
        -l python \
        -o lib/python-client
  - task: DownloadPipelineArtifact@2
    inputs:
      patterns: 'python-client/**'
      path: $(Build.SourcesDirectory)/lib/python-client

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2019-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    相关资源
    最近更新 更多