首页 > 解决方案 > 指定的来源“MySource”无效

问题描述

我正在更新 Jenkins Pipeline 以发布 nuget 包。一切正常,期待最后一步,即 bat 命令。

当我在命令行中运行以下命令时,它可以工作:

C:\Host\packages\release\nuget.exe push -Source MySource -ApiKey VSTS C:\Host\packages\release\CoreLogger.2.1.109.nupkg
Pushing CoreLogger.2.1.109.nupkg to 'C:\Host\packages'...
Your package was pushed.

有用。

我复制同一行并将其放入我的管道中,例如:

bat "C:\\Host\\packages\\release\\nuget.exe push -Source MySource -ApiKey VSTS C:\\Host\\packages\\release\\CoreLogger.2.1.${BUILD_NUMBER}.nupkg"

如果返回以下错误!

C:\Host\packages\release\nuget.exe push -Source MySource -ApiKey VSTS C:\Host\packages\release\CoreLogger.2.1.109.nupkg
The specified source 'MySource' is invalid. Please provide a valid source. 
script returned exit code 1

可能出了什么问题?

标签: jenkinsnuget

解决方案


源代码在您的 nuget.config 文件中定义,nuget.exe 通过查看“当前目录”并递归到根目录来找到它。如果在构建服务器上运行时的“当前目录”不在您的 nuget.config 或其下的子目录所在的位置,则 nuget.exe 将找不到它。

因此,请检查您的构建配置以确保当前目录是您的 nuget.config 所在的位置。或者,您可以传递 -ConfigFile 参数并明确告诉它配置文件在哪里。


推荐阅读