10

ガイドに従って.npmrcファイルを追加して、ビジュアルスタジオチームサービスアカウントでプライベートnpmフィードの使用を開始しました

registry=https://ascend-xyz.pkgs.visualstudio.com/_packaging/AscendNPMFeed/npm/registry
always-auth=true

問題は、このプライベート パッケージの一部のパッケージが必要なため、ビルド パイプラインが機能しないことです。

ビジュアルスタジオチームサービスでビルドアクセストークンを使用して認証できることを npm に伝えるための適切なセットアップは何ですか?

環境変数を設定する必要がありますか?ビルドステップとして npm login または someting を呼び出しますか?

4

1 に答える 1

12

これを起動して実行するのに問題がある人のために、元の質問に関して、ビルドでいくつかの激しいテストを行った後に更新します。

  1. ビルド定義を編集 => オプション => 「スクリプトが OATH トークンにアクセスできるようにする」

有効にすると、VSTS が .npmrc ファイルを検出すると、npm コマンドが実行されます。

vsts-npm-authつまり、ソース管理の .npmrc には含まれている必要があるだけです

registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true

これは、VSTS Npm タスクを使用するビルドに当てはまりますpublishinstall



実行中の VSTS ビルドに 環境変数NPM_TOKENnpm publishを設定すると、コマンドは .npmrc ファイルでこれを置き換えることができます。 http://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules

したがって、ソース管理にチェックインする .npmrc は次のようになります。

registry=https://YOUR_DOMAIN.pkgs.visualstudio.com/_packaging/FEEDNAME/npm/registry
always-auth=true

//YOUR_DOMAIN.pkgs.visualstudio.com/_packaging//npm/:_authToken=${NPM_TOKEN}

トークンは、vsts-npm-auth コマンドhttps://www.npmjs.com/package/vsts-npm-authを実行することで生成できます 。

Windows では、ターゲットとソースの両方の rc ファイルのフル パスが必要になる場合があることに注意してください (ここで -T: write-token-to-this-target-file)。

vsts-npm-auth -config c:\mysrc\.npmrc -T c:\mysrc\.npmrc -V 詳細

または、[パッケージ] の下の (Web インターフェイス) VSTS アカウント内の [フィードに接続] ダイアログで生成できます。

また、これを自動で継続的に公開したい場合は、次のようにバージョン番号を上げる方法も見つけなければならないことに注意してください。

npm version patch --force -m "Published new version"

package.json のバージョンを自動的に更新するには、このスレッドを参照してください。

VSTS はデフォルトで HEAD コミット ID をチェックアウトするため、npm versionコマンドを実行して git にプッシュバックするのは簡単ではありません。

于 2016-12-14T10:16:09.167 に答える