问题描述
我正在设置一个 Azure 构建管道,以便在发布 NuGet 包时自动构建。在该构建定义中 - 我想安装最新版本的软件包。
根据 this 的回答,我需要先恢复软件包以针对 Dev Ops 提要进行身份验证。
- task: DotNetCoreCLI@2
displayName: 'Restore Packages'
inputs:
command: restore
projects: web/*.csproj
vstsFeed: organizational-packages
- task: DotNetCoreCLI@2
displayName: Install Custom Internal Package Package
inputs:
command: 'custom'
custom: 'add'
arguments: 'package Custom.Internal.Package --prerelease'
projects: 'Web/*.csproj'
FeedsToUse: 'select'
FeedRestore: 'organizational-packages'
NuGet 源托管在 Azure Dev ops 中并具有组织范围。
info : Adding packagereference for package 'Custom.Internal.Package' into project
'/home/vsts/work/1/s/Project.Web/Web.csproj'.
info : GET https://api.nuget.org/v3/registration5-gz-semver2/custom.internal.package/index.json
info : NotFound https://api.nuget.org/v3/registration5-gz-semver2/cbh.surescripts.business/index.json 202ms
error: There are no versions available for the package 'Custom.Internal.Package'.
包裹位于https://myorg.pkgs.visualstudio.com/_packaging/organizational-packages/nuget/v3/index.json
我什至尝试仅使用命令行任务来完成此操作:
- task: NuGetAuthenticate@0
displayName: Authenticate NuGet Feed
- task: CmdLine@2
displayName: Add Organizational Package Source
inputs:
script: 'dotnet nuget add source https://myorg.pkgs.visualstudio.com/_packaging/organizational-packages/nuget/v3/index.json -n credible'
- task: CmdLine@2
displayName: Install Custom Internal Package
inputs:
script: 'dotnet add package Custom.Internal.Package--prerelease'
workingDirectory: '$(Build.sourcesDirectory)/Web'
info : Adding packagereference for package 'Custom.Internal.Package' into project '/home/vsts/work/1/s/Project.Web/Web.csproj'.
info : GET https://api.nuget.org/v3/registration5-gz-semver2/custom.internal.package/index.json
info : NotFound https://api.nuget.org/v3/registration5-gz-semver2/custom.internal.package/index.json 64ms
error: Unable to load the service index for source https://myorg.pkgs.visualstudio.com/_packaging/organziational-packages/nuget/v3/index.json.
error: Response status code does not indicate success: 401 (Unauthorized).
解决方法
feedsToUse
任务中的 custom
命令中没有 DotNetCoreCLI
,您可以将其删除,然后尝试添加 -v|--version <VERSION>
以对包进行版本控制:
- task: DotNetCoreCLI@2
displayName: 'dotnet custom'
inputs:
command: custom
projects: 'Web/*.csproj'
custom: add
arguments: 'package Custom.Internal.Package --prerelease -v 1.0.0'