2

我正在使用 Jenkins 更新 NuGet 包,但问题是它不适用于 Jenkins。我检查了日志文件并复制了手动运行它的命令,它可以工作。

我使 Nuget.exe.config 上的代理无效,但它仍然有效(手动获取时)。所以,我认为配置文件上的代理可能未使用,或者我的配置有问题。(如果配置文件无效,Nuget.exe 会忽略它。)

这是配置文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <config>
        <add key="http_proxy" value="url:port" />
        <add key="http_proxy.user" value="a" />
        <add key="http_proxy.password" value="b" />
    </config>
    <solution>
        <add key="disableSourceControlIntegration" value="true" />
    </solution>
</configuration>

代理服务器不需要用户名和密码,所以没关系。你知道如何解决这个问题吗?

4

2 回答 2

1

这可能是问题吗?

Default Location

The default location for NuGet's configuration file is %APPDATA%\NuGet\NuGet.Config (DOS) or $ENV:APPDATA\NuGet\NuGet.Config (PowerShell). 
APPDATA's value is OS, system drive, and current user dependent. For example: D:\Users\username\AppData\Roaming\NuGet\NuGet.config.

从:

http://docs.nuget.org/docs/reference/nuget-config-file

或者您确保您正在调用您的特定文件:

The default configuration file can be changed through -ConfigFile option. For example, "-ConfigFile c:\my.config" means using file c:\my.config instead of %APPDATA%\NuGet\NuGet.Config as the default configuraion file.

您使用的是哪个“身份”(域\登录名)?

另一个想法:

通过命令行设置变量:

nuget config -Set HTTP_PROXY=http://127.0.0.1 -Set HTTP_PROXY.USER=domain\user

http://docs.nuget.org/docs/reference/command-line-reference

于 2013-10-08T14:01:33.123 回答
0

请注意,Jenkins 作为服务运行,因此默认情况下它由用户NT AUTHORITY/SYSTEM运行。

如果你打开 %APPDATA% 它将引导你到当前用户的 AppData,所以对 %AppData%/Roaming/NuGet/Nuget.config 的任何更改都不会对 Jenkins 产生任何影响。

您需要做的是转到 NT AUTHORITY/SYSTEM 的 AppData 并修改/添加 Nuget.config,这里是:

C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\
于 2016-04-04T13:49:56.797 回答