2015-11-18 44 views
6

私はVisual Studio Online - Package Manager Previewを新しいビルドシステムとともに使用しています。パッケージマネージャのプレビューでは、NuGet Publisherを含むいくつかのビルドステップが追加され、Visual Studio Onlineがホストするプライベートフィードにパッケージをプッシュする必要があります。VSO NuGet Publisherビルドステップが失敗する

今やdocumentation is a little out of step hereです。同様にdocumentation on authpersonal access tokensです。権限が設定されている(ビルドサービスアカウントにはサービスエンドポイントとパッケージマネージャーの拡張機能へのアクセス許可がある)限り、VSOとパッケージマネージャーの間で認証を行う必要はありません。実際のビルド・ステップでは、サービス・エンドポイントのリストから選択するように求められますので、これを試してみてください。

私はサービス・エンドポイントには何の資格情報を置かないとき、私はエラーを取得する:私はサービス・エンドポイントに対するAPIキーを配置しようとすると

Server Key must be set, set the password on the generic service 

保存に捨てているようだ...とエラー変更:

2015-11-18T08:35:24.5678951Z Invoking nuget with push C:\a\1\s\EventViewer\bin\Release\Project.Name.1.1.12.0.nupkg -s https://example.pkgs.visualstudio.com/DefaultCollection/_packaging/example/nuget/v3/index.json usfusmx4ez6mlfqwpp2abzc7e37denfcp7bxsep2hqij3tp4qwvq on C:\a\1\s\EventViewer\bin\Release\Project.Name.1.1.12.0.nupkg 
2015-11-18T08:35:24.5688946Z C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\agent\worker\tools\NuGet.exe push C:\a\1\s\EventViewer\bin\Release\Project.Name.1.1.12.0.nupkg -s https://example.pkgs.visualstudio.com/DefaultCollection/_packaging/Example/nuget/v3/index.json usfusmx4ez6mlfqwpp2abzc7e37denfcp7bxsep2hqij3tp4qwvq 
2015-11-18T08:35:25.3467312Z Please provide credentials for: https://example.pkgs.visualstudio.com/DefaultCollection/_packaging/Example/nuget/v3/index.json 
2015-11-18T08:35:25.3667189Z ##[error]Object reference not set to an instance of an object. 
2015-11-18T08:35:25.3677179Z UserName: Password: 
2015-11-18T08:35:25.4647059Z ##[error]Unexpected exit code 1 returned from tool NuGet.exe 

は私も無駄に個人的なアクセストークンを使用しようとしました。

パブリッシュステップはどのように機能しますか?

+0

私の問題は、 "Project Build Service"にフィードへのアクセス許可がないことだと思います。残念ながら、自動補完機能は最初の20件の結果しか表示せず、必要なGUIDは最初の20件に含まれていません(そのリストからいくつか追加すると表示されなくなります)。 – Fenton

+1

最初のdocリンクは最新ではありません。エントリポイントはhttp:// visualstudioになりました。com/get-started/package/what-is-packagingのいずれかになります。また、20個のアイデンティティーについてご迷惑をおかけしております。バグを追跡しています。 –

答えて

4

インボックスNuGet公開タスクには、「外部」フィードと「内部」フィードの2つのオプションがあります。外部フィードは、NuGet.org、Artifactoryなどのサードパーティのサービスを対象としており、APIキーとのサービス接続を期待しています。

内部フィードは、Team Servicesがホストするフィードです。サービス接続の代わりに、フィードのNuGetエンドポイントのURLを追加します。ビルドシステムは、フィードコレクションのビルドサービス(コレクションスコープビルド定義の場合)またはプロジェクトビルドサービス(「このプロジェクト」のスコープビルド定義の場合)がフィードのリーダーまたはコントリビュータです。利用可能なドキュメントはすべてhereです。

+0

こんにちはマット、心配する必要はありません - うまく動いているビット(フィードとパッケージングステップ)は、PowerShellスクリプトがその間にホイールに油を注いでいます:) – Fenton

+0

こんにちはマット、これはいつ展開されますか? PowerShellとNuget Publisherのどちらも現時点では動作していません: – cilerler

+0

11月24日にデプロイされました。「内部」フィードを選択し、フィードのNuGetエンドポイントのURLにコピーしてください。それを得るためのWeb UI –

3

更新:vNextで標準のパッケージングステップを使用できるようになりました。これらはすべて魅力的に機能します。

当面はsubstituting the NuGet Publisher step with a PowerShell build stepです。

"NuGet Packager"ステップの後にビルドされ、パッケージを使用する前にパッケージソースを設定することですべての資格情報を指定できます。

$feedUrl = "https://example.pkgs.visualstudio.com/DefaultCollection/_packaging/Example/nuget/v3/index.json" 

$packagePath = $ENV:BUILD_REPOSITORY_LOCALPATH + "\YourOrg.YourComponent." + $ENV:BUILD_BUILDNUMBER + ".nupkg" 

Write-Host "Adding package Source" 
$addSourceCommand = $ENV:BUILD_REPOSITORY_LOCALPATH + "\nuget sources add -name ""Example"" -source " + $feedUrl + " -username ""your.username"" -password ""yourpassword""" 
Invoke-Expression -Command $addSourceCommand 

Write-Host "Pushing package to NuGet" 
$pushCommand = $ENV:BUILD_REPOSITORY_LOCALPATH + "\nuget push $packagePath -Source " + $feedUrl + " -ApiKey Example" 
Invoke-Expression -Command $pushCommand 
0

私は自分のNuGet Server(Visual Studioオンラインとは対照的に、Nuget.server)を実行しているところで、内部デプロイメントを研究/構成しているので、ここに上陸しました。エラーは同じでした(または類似したテキストがあります):

Object reference not set to an instance of an object

私の解決策は、URLが正しくないことでした。 正しいバージョンはhttp://server-name/NuGet/api/v2/package

私は:http://server-name/NuGet/が間違っていました。

関連する問題