ADO管道执行NuGet Push报错:指定源‘Artifactory’无效
ADO管道NuGet推送Artifactory失败问题排查与解决
核心原因
直接在代理本地执行命令用的是当前登录用户的NuGet配置,但ADO管道的命令提示符任务默认以代理服务账户(如Network Service)运行,两个账户的NuGet配置文件相互独立,导致管道上下文找不到已添加的Artifactory源。
解决方法
1. 在管道任务中重新添加源与密钥
不要依赖代理本地用户的配置,在ADO管道的命令提示符任务中,先执行源添加和密钥设置,再执行推送:
# 添加Artifactory源 C:\NuGet\nuget.exe sources Add -Name Artifactory -Source https://xxx/artifactory/api/nuget/v3/Nuget -username 你的用户名 -password 你的虚拟密码 # 设置API密钥 C:\NuGet\nuget.exe setapikey 你的用户名:你的虚拟密码 -Source Artifactory # 执行推送 C:\NuGet\nuget.exe push E:\adoagent03_work\1\a.....\Release\Nugetpackage.1.0.0.nupkg -Source Artifactory
2. 验证管道上下文的NuGet源
在推送前添加源列表查看命令,确认当前上下文是否能识别Artifactory源:
C:\NuGet\nuget.exe sources list
如果输出中没有Artifactory,则说明必须重新添加源。
3. 直接使用源URL替代名称
跳过源名称的识别环节,推送时直接用Artifactory的完整URL,并附带API密钥:
C:\NuGet\nuget.exe push E:\adoagent03_work\1\a.....\Release\Nugetpackage.1.0.0.nupkg -Source https://xxx/artifactory/api/nuget/v3/NuGet -ApiKey 你的用户名:你的虚拟密码
内容的提问来源于stack exchange,提问作者kum123
相关产品推荐
相关产品推荐

