2017-05-30 32 views
0

vsts-npm-authを使用して、VSTSパッケージリポジトリの認証トークンを取得しようとしています。私の開発マシン上で私はvsts-npm-authがVSTSビルドで認証トークンを取得できません

npm install -g vsts-npm-auth vsts-npm-auth -config path-to-my\.npmrc

のコマンドを実行することができ、それが認証トークンを私に提供することに成功しました。私は今、VSTSのビルドステップとしてこれを再作成しようとしているので、私はPowerShellスクリプトauth-vsts.ps1

$npmrcFile = "$PSScriptRoot\path-to-my\.npmrc"; 
npm install -g vsts-npm-auth; 
vsts-npm-auth -config $npmrcFile; 

とPowerShellのタスクとして追加を作成します。

2017-05-30T09:37:41.1082686Z ##[section]Starting: auth-vsts 
2017-05-30T09:37:41.1092712Z ============================================================================== 
2017-05-30T09:37:41.1092712Z Task   : PowerShell 
2017-05-30T09:37:41.1092712Z Description : Run a PowerShell script 
2017-05-30T09:37:41.1092712Z Version  : 1.2.3 
2017-05-30T09:37:41.1092712Z Author  : Microsoft Corporation 
2017-05-30T09:37:41.1092712Z Help   : [More Information](https://go.microsoft.com/fwlink/?LinkID=613736) 
2017-05-30T09:37:41.1092712Z ============================================================================== 
2017-05-30T09:37:41.1112679Z ##[command]. 'd:\a\1\s\auth-vsts.ps1' 
2017-05-30T09:37:47.3792461Z C:\NPM\Modules\vsts-npm-auth -> C:\NPM\Modules\node_modules\vsts-npm-auth\bin\vsts-npm-auth.exe 
2017-05-30T09:37:47.3792461Z C:\NPM\Modules 
2017-05-30T09:37:47.3802239Z `-- [email protected] 
2017-05-30T09:37:47.3802239Z 
2017-05-30T09:37:47.3802239Z 
2017-05-30T09:37:47.3802239Z vsts-npm-auth v0.25.0.0 
2017-05-30T09:37:47.3802239Z ----------------------- 
2017-05-30T09:37:47.3802239Z Creating npmrcFile. Path: D:\a\1\s\.npmrc 
2017-05-30T09:37:47.3802239Z Getting new credentials for source:https://our-domain/_packaging/SharedLib/npm/registry/, scope:vso.packaging_write vso.drop_write 
2017-05-30T09:37:49.8729702Z Caught exception: The prompt option is invalid because the process is not interactive. 
2017-05-30T09:37:49.8729702Z Parameter name: PromptType 
2017-05-30T09:37:49.8729702Z Caught exception: The prompt option is invalid because the process is not interactive. 
2017-05-30T09:37:49.8729702Z Parameter name: PromptType 
2017-05-30T09:37:49.8729702Z Couldn't get an authentication token for //our-domain/_packaging/SharedLib/npm/registry/:_authToken. 
2017-05-30T09:37:50.1769711Z ##[error]Process completed with exit code 1. 
2017-05-30T09:37:50.1809715Z ##[section]Finishing: auth-vsts 

を次のようにしかし、タスクが失敗したエラーは、それは資格を取得することができない理由として兆候を付与するものではありません。これがなぜ起こっているのでしょうか?

答えて

1

エラーは、それは資格を取得することができない理由を示しました:

The prompt option is invalid because the process is not interactive. 

これは、ビルドエージェントが原因で発生することが資格ダイアログが求められることができません作成され、対話型モードで実行されません。 Hosted Build Agentを使用している場合、ビルド・エージェントはサービスとして実行され、対話モードに変更する方法はありません。

ただし、ビルド・ステップでフィードを使用する場合は、ビルド・ステップで必要な資格証明を自動的に入力できないため、ビルド・プロセス中に資格証明ダイアログを表示することは意味がありません。ご使用の環境に特定の要件があるかどうかは不明ですが、一般的なワークフローでは、ローカルマシンで生成された.npmrcファイルをソース管理にアップロードして、VSMにパッケージをインストール/パブリッシュするために、フィード。

+0

これは意味があります。私は、(VSTS/MSFTのOsXとLinuxの指示に従って)ビルドパイプラインの一部としてauthトークンを使って.npmrcファイルをアップロード/コピーすることに頼っていました。 –

関連する問題