2017-08-22 22 views
0

TFSでCIプロセスを実装しました。このCIプロセスの第一歩はNuget Restoreです。TFSビルドエージェントのnugetはcmdから動作しますが、TFSで許可エラーが発生します

enter image description here プロジェクトには、同じTFSインスタンスのナゲットフィードに保存されている依存関係があります。リストア中に401許可が必要なエラーが発生しました。

2017-08-22T14:45:56.9497847Z [command]d:\path\3.5.0\NuGet.exe restore 
-NonInteractive D:\somepath\project.sln -Verbosity Detailed 
2017-08-22T14:46:03.5127467Z Error downloading 'dependency.4.1.1' from 'http://URL:80/tfs/TFSCollection/_packaging/path/dependency.4.121.1.nupkg'. 
2017-08-22T14:46:03.5127467Z Response status code does not indicate success: 401 (Unauthorized). 

しかし、私はコマンドラインからログに表示される同じコマンドを試してみます。依存関係が正常にインストールされています。

私はnupkgがここにありますチェックしています

http://URL:80/tfs/TFSCollection/_packaging/path/dependency.4.121.1.nupkg

私はコマンドに続くチェックしたが、同じマシン上でコマンドラインから正常に動作します。

d:\path\3.5.0\NuGet.exe restore 
-NonInteractive D:\somepath\project.sln -Verbosity Detailed 

マイクロソフトへのチケットを開こうとしています。しかし、私には見えない簡単なトリックがあるようです。そのような経験はありますか?なぜ同じコマンドがコマンドラインから動作しますが、TFSからは動作しません。あなたは何か考えていますか?

答えて

1

これは、エラーメッセージ「401(無許可)」

あなたを確認して、一般的にそれはC:\Users\{user}\AppData\Roaming\NuGetに配置する必要があり、あなたのエージェントマシン上NuGet.Configファイルを確認してくださいに従って、権限の問題でなければなりませんカスタムフィードを追加し、フィードにpackageSourceCredentialsを設定してください。

詳細については、記事の下に参照してください。


UPDATE:

公式文書によると、あなたヘクタールカスタムフィードの資格情報を設定します。下のコマンドを実行すると、Nuget.configファイルに資格情報が保存されます。 PATで

nuget sources add -name {your feed name} -source {your feed URL} -username {your domain username} -password {your domain password} 

:(上記の2番目のリンクに言及)今のところ、ユーザー名/パスワードの設定ファイル

に資格情報を入れずに方法はありません。 PATの生成方法については、this linkを参照してください。

nuget.exe sources add -name {your feed name} -source {your feed URL} -username {anything} -password {your PAT} 
+0

ありがとうございました。私は文書をチェックしたが、まだ試していない。もう一つの質問。設定ファイルに資格を入れるのではなく、私はapiキーを使いたいと思います。私はテキストファイルに資格情報を入れることを好まない。だから、 'apikeys'を使うのは大丈夫ですか?リソース:https://docs.microsoft.com/en-us/nuget/schema/nuget-config-file – wasabi

+0

@ melih.tt 'apikeys'はhttps://www.nuget.org/account/ApiKeys用です。つまり、Nuget.orgサイトでパッケージを管理する必要があります。カスタムTFSフィードでは、通常の資格情報またはPATを使用できます。 –

+0

次のコマンドを使用して問題が解決しました。しかし、私はまだパスワードを設定ファイルに入れないで解決策を探しています。どのような例がありますか、私はPATで同じことをどうやって行うことができますか?あなたのドメイン名を入力してください。-password {あなたのドメインのパスワード} – wasabi

関連する問題