Azure Pipeline dotnet push ошибка поиска пакета nuget

#.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
 

https://medium.com/@gstvribs/how-to-use-and-deploy-azure-devops-artifacts-on-azure-pipelines-with-dotnet-dockerized-8cebd724f752