就像标题所说,我有一个 .NET 类库解决方案/项目,我想将其发布到现有的 Azure Artifact Feed。这是管道:
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: UseDotNet@2
- task: NuGetAuthenticate@1
- task: NuGetCommand@2
inputs:
command: restore
feedsToUse: config
- script: dotnet build --configuration Release
displayName: "Build Solution"
- script: dotnet pack --configuration Release --output '$(Build.ArtifactStagingDirectory)'
displayName: "Pack Project"
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: drop
一切都运行成功,但工件未更新,并且一些 Microsoft SDK 工件被添加到源中。我做错了什么?
PublishBuildArtifacts@1 任务用于将构建项目发布到 Azure Pipelines 或文件共享,而不是发布到 Azure Artifact 中的源。 您可以在运行中找到已发布的管道Artifact。
要将 Artifact 发布到 Azure Artifact 中的源,您可以添加脚本任务以在
dotnet nuget push
任务之后运行 dotnet pack
命令。有关更多详细信息,请参阅从命令行(dotnet)发布和恢复 NuGet 包
例如:
- script: dotnet nuget push --source https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json --api-key feed '$(Build.ArtifactStagingDirectory)/*.nupkg'
displayName: "publish NuGet packages"
然后该包将发布到 Azure Artifact 中的源。
您还可以参考更多有关恢复和推送 NuGet 包的示例这里。