Azure Pipeline - документ по сборке и генерации
Мой проект - это AspNet Core 2.2 Api, я создаю его в Azure Pipelines (классический). Я хочу сгенерировать документ swagger во время сборки конвейера Azure. Для этого я использую Swashbuckle.AspNetCore.Cli и документы в Retrieve Swagger Directly from стартовая сборка
- У меня для задачи Use .NET Core установлено значение 2.2 в начале работы.
- Я установил инструменты с помощью задачи.NET Core с помощью настраиваемой команды инструмента с аргументами
install swashbuckle.aspnetcore.cli --version 5.0.0-rc4 --global
, похоже, это сработало; Если я снова запущу эту задачу, она выйдет из строя с сообщением, что инструмент уже установлен. Затем в моей CI Build я добавил задачу.NET Core с настройками
- команду на Custom
- Путь к проекту (ам) к пути к файлу csproj
- Пользовательская команда для
swagger
- Аргументы в пользу
tofile --output $(Build.ArtifactStagingDirectory)/swagger.json $($(Build.ArtifactStagingDirectory)_Dxxxxx.Api.dll v1
Я получаю эту ошибку No executable found matching command "dotnet-swagger"
1 ответ
Вот рабочий пример с использованием JAR, поддерживаемого командой Swagger Codegen.
Я использовал публичный майкрософт
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