このクイックスタートでは、Artifact Registry npm リポジトリをセットアップし、そのリポジトリにパッケージをアップロードする方法について説明します。
パッケージ管理はアルファ版です。これはアルファ版のユーザーにのみご利用いただけます。コンテナ管理で利用できる機能がすべて含まれているとは限りません。アルファ版のお申し込みには、登録フォームをご利用ください。
始める前に
- Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する。
- Artifact Registry API を有効にします。
- Cloud SDK をインストールして初期化します。
- Windows から npm リポジトリに接続する場合は、PowerShell をインストールします。
npm リポジトリを作成する
Node.js アーティファクトのリポジトリを作成します。
リポジトリを作成します。
コンソール
Cloud Console で [リポジトリ] ページを開きます。
[リポジトリを作成] をクリックします。
リポジトリ名として
quickstart-npm-repo
を指定します。形式として [npm] を選択します。
[ロケーション タイプ] で [リージョン] を選択し、ロケーションとして
us-central1
を選択します。[作成] をクリックします。
リポジトリがリポジトリ リストに追加されます
gcloud
次のコマンドを実行して、場所
us-central1
に「npm repository」という説明の付いたquickstart-npm-repo
という新しい npm リポジトリを作成します。gcloud artifacts repositories create quickstart-npm-repo --repository-format=npm \ --location=us-central1 [--description="npm repository"]
次のコマンドを実行して、リポジトリが作成されたことを確認します。
gcloud artifacts repositories list
Artifact Registry コマンドの詳細については、
gcloud artifacts
コマンドを実行してください。gcloud
コマンドを簡略化するには、デフォルトのリポジトリをquickstart-npm-repo
に、デフォルト ロケーションをus-central1
に設定します。値を設定したら、リポジトリまたはロケーションを必要とするgcloud
コマンドで設定した値を指定する必要はありません。リポジトリを設定するには、次のコマンドを実行します。
gcloud config set artifacts/repository quickstart-npm-repo
ロケーションを設定するには、次のコマンドを実行します。
gcloud config set artifacts/location us-central1
上記のコマンドの詳細については、gcloud config set のドキュメントをご覧ください。
クライアントのサービス アカウントを設定する
npm の代理として動作する既存のサービス アカウントを作成または選択します。
アプリケーションに代わって動作するサービス アカウントを作成するか、自動化に使用する既存のサービス アカウントを選択します。
Artifact Registry で認証を設定するには、サービス アカウントのキーファイルの場所が必要です。既存のアカウントの場合は、[サービス アカウント] ページで鍵を表示し、新しい鍵を作成できます。
サービス アカウントにリポジトリへの読み取りと書き込みのアクセス権を付与します。
gcloud artifacts repositories add-iam-policy-binding \ quickstart-npm-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
ACCOUNT は
USERNAME@PROJECT-ID.iam.gserviceaccount.com
という形式のサービス アカウントの ID です。サービス アカウント キー ファイルの場所を変数
GOOGLE_APPLICATION_CREDENTIALS
に割り当てます。Artifact Registry 認証ヘルパーは、リポジトリとの接続時にキーを取得できるようになります。export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
KEY-FILE はサービス アカウント キーファイルのパスです。
サービス アカウント キーファイルを使用したパスワード認証を設定する方法については、authentication#auth-password のドキュメントをご覧ください。
npm を構成する
アップロードする npm パッケージを作成します。このクイックスタートで使用できるパッケージがない場合は、次のコマンドを実行してプレーンな
package.json
ファイルを作成します。npm init -y
作成した Artifact Registry リポジトリにデプロイする npm プロジェクトを構成します。
以下のコマンドを実行します。このコマンドは、npm 構成ファイルに追加する構成設定を返します。
gcloud artifacts print-settings npm --scope=@quickstart
quickstart
スコープはリポジトリに関連付けられます。パッケージを公開またはインストールするためのスコープをコマンドに挿入すると、npm はリポジトリを使用します。スコープを指定せずにパッケージを公開またはインストールする場合は、構成済みのデフォルトのリポジトリが使用されます。詳細については、Node.js の概要をご覧ください。gcloud
コマンドの出力は次のようになります。@quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/ //us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/:_authToken="" //us-central1-npm.pkg.dev/PROJECT/quickstart-npm-repo/:always-auth=true
前の手順で作成した構成設定をプロジェクトの
.npmrc
ファイルに追加します。このファイルは通常、package.json
ファイルと同じディレクトリにあります。PROJECT を実際のプロジェクト ID に置き換えます。
.npmrc
ファイルの詳細については、Node.js の概要をご覧ください。
それぞれの Artifact Registry npm リポジトリは、npm レジストリ エンドポイント https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY
に関連付けられます。別の Artifact Registry npm リポジトリを作成すると、npm は独自のスコープで個別のレジストリとしてリポジトリを操作します。
パッケージをリポジトリにアップロードする
アップロードするパッケージを選択します。
package.json
のパッケージ名にquickstart
スコープが含まれていることを確認します。"name": "@quickstart/my-package"
リポジトリに接続するためのアクセス トークンを更新します。google-artifactregistry-auth は、Artifact Registry リポジトリの認証情報を更新するクライアント ライブラリです。認証情報を更新するには、次のいずれかのオプションを使用します。
プロジェクトの
package.json
ファイルにスクリプトを追加します。"scripts": { "artifactregistry-login": "npx google-artifactregistry-auth" }
次のコマンドでスクリプトを実行します。
npm run artifactregistry-login PROJECT-NPMRC
PROJECT-NPMRC はプロジェクト ディレクトリの
.npmrc
ファイルのパスです。5.2.0 より古いバージョンの npm の場合は、次の手順を行います。
- 次のコマンドを実行します。
npm install google-artifactregistry-auth --save-dev --registry https://registry.npmjs.org/
- 認証スクリプトに追加します。
"scripts": { "artifactregistry-login": "./node_modules/.bin/artifactregistry-auth", }
次のコマンドでスクリプトを実行します。
npm run artifactregistry-login PROJECT-NPMRC
PROJECT-NPMRC はプロジェクト ディレクトリの
.npmrc
ファイルのパスです。
リポジトリにパッケージを追加します。
npm
またはyarn
コマンドを使用できます。npm publish
yarn publish
リポジトリでパッケージを表示する
パッケージがリポジトリに追加されたことを確認するには:
コンソール
Cloud Console で [リポジトリ] ページを開きます。
リポジトリ リストで、
quickstart-npm-repo
リポジトリをクリックします。[Packages] ページには、リポジトリ内のパッケージが一覧表示されます。
パッケージをクリックすると、パッケージのバージョンが表示されます。
gcloud
デフォルトの quickstart-npm-repo
リポジトリ内のイメージを一覧表示するには、次のコマンドを実行します。
gcloud artifacts packages list
パッケージのバージョンを表示するには、次のコマンドを実行します。
gcloud artifacts versions list --package=PACKAGE
PACKAGE はパッケージ ID です。
パッケージのインストール
npm リポジトリからパッケージをインストールするには、npm install
コマンドまたは yarn add
コマンドを使用します。PACKAGE をパッケージ名に置き換えます。
npm install @quickstart/PACKAGE
yarn add @quickstart/PACKAGE
クリーンアップ
このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
リポジトリを削除する前に、保持する必要があるパッケージが別の場所で使用可能であることを確認してください。
リポジトリを削除するには、次の手順を行います。
コンソール
Cloud Console で [リポジトリ] ページを開きます。
リポジトリ リストで、
quickstart-npm-repo
リポジトリを選択します。[削除] をクリックします。
gcloud
quickstart-npm-repo
リポジトリを削除するには、次のコマンドを実行します。gcloud artifacts repositories delete quickstart-npm-repo
アクティブな
gcloud
構成用に構成したデフォルトのリポジトリとロケーション設定を削除するには、次のコマンドを実行します。gcloud config unset artifacts/repository gcloud config unset artifacts/location
次のステップ
- Maven クイックスタートを試す
- 認証の構成の詳細を確認する
- リポジトリの管理について確認する
- パッケージの管理について確認する
- DevOps に関するリソースを読む。また、研究プログラムについて確認する。