2017-10-17 16 views
1

だから私は私がしたいことは、このポストの反対だと思う:VSTS NuGet restore fails (proxy?)VSTSのRun nugetタスクに

我々が構築するためのVSTSエージェントを実行している上、プレムマシンを持っています。そのマシンにはhttp_proxy変数が設定されているため、エージェントプロセスはクラウド内のVSTSと通信できます。

次に、組み込みのナゲットタスクを使ってナゲットの復元をしようとしていますが、私がアクセスしたいフィードは、オンフックのアーティファクトインスタンスにあります。このフィードにアクセスするには、エージェントが行うプロキシ設定を使用しないでください(インターネットオプションで「ローカルアドレス用のバイパスプロキシ」オプションが選択されています)。

私は私のビルドログに次のように表示さnugetタスクを実行するときしかし、エージェントプロキシにnugetプロキシを設定しているようだ:

2017-10-17T14:02:14.4961204Z ##[debug]agent.proxyurl=http://X.X.X.X:8080 
2017-10-17T14:02:14.4961204Z ##[debug]agent.proxyusername=undefined 
2017-10-17T14:02:14.6992455Z ##[debug]agent.proxypassword=undefined 
2017-10-17T14:02:14.7773706Z ##[debug]Adding environment variable for NuGet proxy: http://X.X.X.X:8080/ 
2017-10-17T14:02:14.7773706Z ##[debug]exec tool: C:\vsts-agent\_work\_tool\NuGet\4.0.0\x64\nuget.exe 

(XXXXの2セットがで同一であり、実際のログ)

http_proxy=""というプロセス変数を設定し、この行をnuget.config <add key="http_proxy" value="" />に追加しようとしましたが、違いはありません。

エージェントプロキシを選択せず​​にnugetタスクを実行する方法はありますか?

VSTSのコマンドラインタスクから手動でnugetを実行すると、すべて正常に動作します。

答えて

0

VSTSエージェントが.proxybypassファイルからプロキシ除外設定を拾うことができるはずです:Nugetタスクはこれをピックアップする場合

echo http://local.nuget.server >> .proxybypass 

enter image description here

私はよく分からない(it looks like it doesn't yet)少なくとも、特定のホストを無視するようにエージェントに指示する方法です。これは最近のエージェントバージョンso you may need to upgrade your agentに追加されました。

私はVSTS Set Variable Taskを使用して、空の文字列にagent.proxyurlの値を一時的に設定し、nugetタスクを呼び出した後にそれを復元すると推測しています。

PS the new configuration no longer uses the environment variable to set the proxyの場合、新しいデフォルトでは、エージェントルートの.proxyファイルにもその設定が追加されます。

+0

.proxybypassファイルはどこに置いてくださいか? – ssloan

+0

エージェントフォルダにあります。 – jessehouwing

+1

設定された変数オプション( 'Write-Host" ## vso [task.setvariable variable = agent.proxyurl;] ")を実行して動作します。 – ssloan

関連する問題