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 レジストリなど)を使用します。
.npmrc
構成ファイルで各 Artifact Registry リポジトリのスコープを設定します。認証用の同じ認証情報がリポジトリ全体に適用されます。
次の例は、異なるプロジェクトの 2 つの Artifact Registry リポジトリの構成を示しています。
@blue
スコープは、プロジェクトblue-project
のリポジトリ用です。@green
スコープは、プロジェクトgreen-project
のリポジトリ用です。
@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 構成ファイルのドキュメントをご覧ください。