我正在更新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
可能出了什么问题?
答案 0 :(得分:0)
源在nuget.config文件中定义,并且nuget.exe通过在“当前目录”中查找并递归到根目录来找到它。如果在构建服务器上运行时“当前目录”不在您的nuget.config或其子目录下,那么nuget.exe将找不到它。
因此,请检查您的构建配置,以确保当前目录位于nuget.config所在的位置。或者,您可以传递-ConfigFile参数并明确告诉它配置文件在哪里。