#.net-core #azure-devops #azure-pipelines #nuget-package #azure-pipelines-yaml
Вопрос:
Мой код для конвейера azure
У меня возникли проблемы с использованием конвейера azure, который автоматически упаковывает мои библиотеки в azure devops git и отправляет их в качестве пакета nuget в артефакты.
Я получаю сообщение об ошибке ##[ошибка]Пакеты не соответствуют шаблону поиска. при нажатии dotnet
До этого шага все работает. Я хочу упаковать его в виде nuget, чтобы использовать в других проектах. Это клиент API, который я написал для своего собственного API.
Комментарии:
1. почему вы не используете артефакты azure?
2. вот что я пытаюсь сделать. Я закодировал клиентскую библиотеку api net5.0 для своего веб-api, который у меня есть. и я хочу упаковать и перенести его в артефакты, чтобы я мог использовать его в других своих приложениях. Является ли мой подход неправильным в этом конвейере? Он должен автоматически генерировать новый nuget pkg всякий раз, когда я изменяю свою клиентскую библиотеку api.
Ответ №1:
Пожалуйста, добавьте dotnet pack
, например, такую настройку в свои входные данные:
packDirectory: "$(Build.ArtifactStagingDirectory)/packages"
А затем к dotnet push
такой обстановке:
packagesToPush: '$(Build.ArtifactStagingDirectory)/packages/*.*nupkg'
В вашем подходе он просто пытается найти пакеты в папке defualt, но вы не поместили туда пакеты.
Комментарии:
1. привет, это не работает :/ по-прежнему говорится, что пакет с этим шаблоном не был найден в nuget push
Ответ №2:
Попробуйте использовать путь к артефакту из промежуточного каталога артефактов
- task: DotNetCoreCLI@2
displayName: 'dotnet build'
inputs:
command: 'build'
arguments: '--configuration $(buildConfiguration)'
projects: '**/*.csproj'
- task: DotNetCoreCLI@2
displayName: "dotnet pack"
inputs:
command: 'pack'
arguments: '--configuration $(buildConfiguration)'
packagesToPack: '**/*.csproj'
nobuild: true
versioningScheme: 'off'
- task: NuGetCommand@2
displayName: 'nuget push'
inputs:
command: 'push'
feedsToUse: 'select'
packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg'
nuGetFeedType: 'internal'
publishVstsFeed: '<Name of Your Feed>'
versioningScheme: 'off'
allowPackageConflicts: true