Artifact Registry は、npm で管理する Node.js パッケージをサポートしています。
概要
Artifact Registry の Node.js パッケージに慣れるには、クイックスタートをお試しください。
詳細をご確認いただく準備が整ったら、以下の情報をご覧ください。
- npm を初めて使用する場合は、次のコンセプトをお読みください。
- パッケージ用に Node.js パッケージ リポジトリを作成する。
- リポジトリに接続するアカウントに権限を付与する。Artifact Registry との一般的な統合に使用されるサービス アカウントには、同一のプロジェクト内のリポジトリに対するデフォルトの権限が割り当てられています。
- ツールを構成します。
- npm の認証を構成する。
- パッケージのアップロードとダウンロードを行うように Cloud Build を構成する。
- Google Cloud ランタイム環境へのデプロイについて学習します。
- パッケージの管理について学習する。
スコープを使用する
npm スコープは、パッケージをグループ化するためのラベルです。スコープは、次のような複数の npm レジストリを操作する場合に必要です。
- 1 つのレジストリから別のレジストリに切り替えずに、パッケージの公開とインストールを行う場合。たとえば、ビルドに公開 npm レジストリと Artifact Registry リポジトリの両方からのパッケージが含まれるケースです。
- Google Cloud プロジェクトだけでなく他の npm レジストリにわたって、パッケージ名の競合問題を発生させずに、同じパッケージを複数の Artifact Registry リポジトリに公開する場合。
リポジトリのスコープを常に設定することをおすすめします。パッケージの公開またはインストール時にスコープを指定しないと、npm は構成されたデフォルトのレジストリ(公開 npm レジストリなど)を使用します。
各 Artifact Registry リポジトリのスコープを .npmrc
構成ファイルで設定します。認証で、同じ認証情報がリポジトリ全体に適用されます。
次の例は、異なるプロジェクトにおける 2 つの Artifact Registry リポジトリの構成を示しています。
- プロジェクト
blue-project
のリポジトリ用に設定される@blue
スコープ。 - プロジェクト
green-project
のリポジトリ用に設定される@green
スコープ。
@blue:registry=https://us-central1-npm.pkg.dev/blue-project/blue-npm-repo/
//us-central1-npm.pkg.dev/blue-project/blue-npm-repo/:always-auth=true
@green:registry=https://us-central1-npm.pkg.dev/green-project/green-npm-repo/
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:_authToken=""
//us-central1-npm.pkg.dev/green-project/green-npm-repo/:always-auth=true
Artifact Registry に対して認証した後、適切なスコープを使用して特定のリポジトリにパッケージをアップロードできます。たとえば、次のコマンドは、プロジェクト blue-project
の blue-npm-repo
にパッケージをアップロードします。
npm publish @blue/blue-npm-repo
スコープの詳細については、npm のドキュメントをご覧ください。
npm の構成
認証に使用される設定は、.npmrc
構成ファイルに保存されます。.npmrc
ファイルは、プロジェクト レベル、ユーザーレベル、グローバル レベルで構成できます。
Artifact Registry で認証を構成するときには、接続するリポジトリと、認証の認証情報を定義します。
- Artifact Registry リポジトリ
プロジェクトごとの構成ファイルでリポジトリ リストを設定することをおすすめします。このファイルは通常、npm プロジェクトの
package.json
ファイルと同じディレクトリにあります。Artifact Registry の認証情報ヘルパーは、デフォルトでリポジトリのこの.npmrc
ファイルを確認します。ソース コントロール システムでリポジトリパスを公開しない場合は、次のことができます。
- ソース コントロールで無視するファイルのリストに
.npmrc
ファイル名を追加します。 - または、リポジトリ リストをユーザーごとの構成ファイルに保存します。ユーザーごとの
.npmrc
ファイルは、ユーザーのホーム ディレクトリに置かれるか、npm の--userconfig
パラメータまたは$NPM_CONFIG_USERCONFIG
環境変数で設定されます。ユーザーごとの構成ファイルの設定は、プロジェクト レベルでオーバーライドしない限り、すべてのプロジェクトに適用されます。
- ソース コントロールで無視するファイルのリストに
- Artifact Registry 認証情報
Artifact Registry の認証情報をユーザーごとの構成ファイルに保存し、他のユーザーが使用できないようにします。このファイルはユーザーのホーム ディレクトリに置かれるか、npm の
--userconfig
パラメータまたは$NPM_CONFIG_USERCONFIG
環境変数で設定されます。Artifact Registry の認証ヘルパーは公開 npm レジストリに保存され、インストール時に認証は必要ありません。
ユーザーは、.npmrc
ファイルに構成された既存のデフォルト レジストリを保持する必要があります。デフォルトは通常、https://registry.npmjs.org/
の公開 npm レジストリに設定されています。
現在のデフォルトのレジストリ値を確認するには、次のコマンドを実行します。
npm get registry
npm 構成ファイルの詳細については、npm 構成ファイルのドキュメントをご覧ください。