Artifact Registry に Node.js パッケージを保存する

このクイックスタートでは、非公開の Artifact Registry Node.js パッケージ リポジトリを設定して、パッケージをアップロードする方法を説明します。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Artifact Registry API を有効にします。

    API を有効にする

  5. Google Cloud CLI をインストールします。
  6. gcloud CLI を初期化するには:

    gcloud init
  7. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  8. Google Cloud プロジェクトで課金が有効になっていることを確認します

  9. Artifact Registry API を有効にします。

    API を有効にする

  10. Google Cloud CLI をインストールします。
  11. gcloud CLI を初期化するには:

    gcloud init
  12. Windows から Node.js パッケージ リポジトリに接続する場合は、PowerShell をインストールします。

Cloud Shell を起動する

このクイックスタートでは、Google Cloud でホストされているリソースを管理するためのシェル環境である Cloud Shell を使用します。

Cloud Shell には、Google Cloud CLI がプリインストールされています。gcloud CLI は、Google Cloud への主要なコマンドライン インターフェースを提供します

Cloud Shell を起動します。

  1. Google Cloud Console に移動します。

    Google Cloud Console

  2. Google Cloud コンソールのツールバーで、「Cloud Shell をアクティブにする」をクリックします:

コンソールの下部にあるフレーム内で Cloud Shell セッションが開きます。このシェルで gcloud コマンドを実行します。

Node.js パッケージ リポジトリを作成する

Node.js アーティファクトのリポジトリを作成します。

  1. リポジトリを作成します。

    コンソール

    1. Google Cloud コンソールで [リポジトリ] ページを開きます。

      [リポジトリ] ページを開く

    2. [リポジトリを作成] をクリックします。

    3. リポジトリ名として quickstart-nodejs-repo を指定します。

    4. 形式として npm を選択し、モードとして Standard を選択します。

    5. [ロケーション タイプ] で、[リージョン] を選択し、ロケーション us-central1 を選択します。

    6. [作成] をクリックします。

    このリポジトリがリポジトリ リストに追加されます。

    gcloud

    1. 次のコマンドを実行して、「Node.js リポジトリ」という説明の付いたロケーション us-central1quickstart-nodejs-repo という新しい Node.js パッケージ リポジトリを作成します。

      gcloud artifacts repositories create quickstart-nodejs-repo --repository-format=npm \
      --location=us-central1 --description="Node.js package repository"
      
    2. 次のコマンドを実行して、リポジトリが作成されたことを確認します。

      gcloud artifacts repositories list
      

    Artifact Registry コマンドの詳細については、gcloud artifacts コマンドを実行してください。

  2. gcloud コマンドを簡素化するには、デフォルトのリポジトリを quickstart-nodejs-repo に、デフォルトのロケーションを us-central1 に設定します。値を設定した後は、リポジトリまたはロケーションを必要とする gcloud コマンドでそれらを指定する必要はありません。

    リポジトリを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/repository quickstart-nodejs-repo
    

    ロケーションを設定するには、次のコマンドを実行します。

    gcloud config set artifacts/location us-central1
    

    これらのコマンドの詳細については、gcloud config set のドキュメントをご覧ください。

npm を構成する

パッケージをアップロードしてダウンロードするには、作成したリポジトリで認証する設定を使用して npm プロジェクトを構成する必要があります。このクイックスタートでは、シンプルなパッケージをアップロードして、依存関係として 2 番目のパッケージにインストールします。

  1. すべての絵文字記号とシーケンスに一致する正規表現を提供するシンプルなパッケージである emoji-regex パッケージをダウンロードします。

    npm pack emoji-regex
    

    このコマンドにより、パッケージのアーカイブがダウンロードされます。

  2. アーカイブを emoji-regex ディレクトリに抽出します。次のコマンドは、emoji-regex バージョン 10.1.0 のアーカイブ用です。

    mkdir emoji-regex && tar xvf emoji-regex-10.1.0.tgz -C emoji-regex --strip-components 1
    
  3. Artifact Registry から emoji-regex パッケージをインストールするために使用する 2 番目の npm パッケージを作成します。このパッケージの場合は、npm init コマンドを使用して基本パッケージを作成します。

    mkdir npm-package2
    cd npm-package2
    
    npm init -y
    

    プロンプトが表示されたら、デフォルト値を受け入れます。

  4. 作成した Artifact Registry リポジトリで認証するように、emoji-regexnpm-package2 の両方のプロジェクトを構成します。

    1. 以下のコマンドを実行します。このコマンドは、npm 構成ファイルに追加する構成設定を返します。

      gcloud artifacts print-settings npm --scope=@quickstart
      

      quickstart スコープはリポジトリに関連付けられます。パッケージを公開またはインストールするコマンドにスコープを含めると、npm はリポジトリを使用します。スコープなしでパッケージを公開またはインストールする場合は、構成したデフォルト リポジトリが使用されます。詳しくは、Node.js の概要をご覧ください。

      gcloud コマンドの出力は次のようになります。PROJECT は、Google Cloud プロジェクト ID です。

      @quickstart:registry=https://us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/
      //us-central1-npm.pkg.dev/PROJECT/quickstart-nodejs-repo/:always-auth=true
      
    2. 前のステップの構成設定を各 npm プロジェクトのプロジェクト .npmrc ファイルに追加します。package.json ファイルと同じディレクトリにあるファイル。

      .npmrc ファイルについて詳しくは、Node.js の概要をご覧ください。

      それぞれの Artifact Registry Node.js パッケージ リポジトリは、npm レジストリ エンドポイント https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY に関連付けられます。別の Artifact Registry Node.js パッケージ リポジトリを作成すると、npm は独自のスコープで個別のレジストリとしてリポジトリを操作します。

  5. emoji-regexnpm-package2 の両方のプロジェクトで package.json を編集します。

    1. name の値に quickstart スコープが含まれていることを確認します。

      • emoji-regex:
      "name": "@quickstart/emoji-regex"
      
      • npm-package2:
      "name": "@quickstart/npm-package2"
      
    2. scripts に、Artifact Registry リポジトリの認証情報を更新するクライアント ライブラリである google-artifactregistry-auth のスクリプトを追加します。

      "scripts": {
        "artifactregistry-login": "npx google-artifactregistry-auth"
      }
      

パッケージをリポジトリにアップロードする

  1. リポジトリに接続するためのアクセス トークンを更新します。

    npm run artifactregistry-login
    
  2. パッケージをリポジトリに追加します。npm コマンドまたは yarn コマンドを使用できます。

    npm publish
    
    yarn publish
    

リポジトリ内のパッケージを表示する

パッケージがリポジトリに追加されたことを確認するには:

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストで、quickstart-nodejs-repo リポジトリをクリックします。

    [パッケージ] ページには、リポジトリ内のパッケージが一覧表示されます。

  3. パッケージをクリックしてパッケージ バージョンを表示します。

gcloud

デフォルトの quickstart-nodejs-repo リポジトリ内のイメージを一覧表示するには、次のコマンドを実行します。

 gcloud artifacts packages list

パッケージのバージョンを表示するには、次のコマンドを実行します。

gcloud artifacts versions list --package=PACKAGE

PACKAGE はパッケージ ID です。

パッケージのインストール

npm-package2 の Artifact Registry リポジトリから emoji-regex パッケージをインストールします。

npm-package2 ディレクトリで、次の npm install コマンドまたは yarn add コマンドを実行します。

npm install @quickstart/emoji-regex
yarn add @quickstart/emoji-regex

このコマンドにより、npm-package2 プロジェクトに emoji-regex パッケージがインストールされます。また、package.json を更新して、emoji-regex を依存関係として設定します。

"dependencies": {
  "@quickstart/emoji-regex": "^10.1.0"
}

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

リポジトリを削除する前に、保持する必要があるパッケージが別の場所で使用可能であることを確認してください。

リポジトリを削除するには、次の手順を行います。

コンソール

  1. Google Cloud コンソールで [リポジトリ] ページを開きます。

    [リポジトリ] ページを開く

  2. リポジトリ リストで、quickstart-nodejs-repo リポジトリを選択します。

  3. [削除] をクリックします。

gcloud

  1. quickstart-nodejs-repo リポジトリを削除するには、次のコマンドを実行します。

    gcloud artifacts repositories delete quickstart-nodejs-repo
    
  2. アクティブな gcloud 構成のデフォルトのリポジトリとロケーション設定を削除するには、次のコマンドを実行します。

    gcloud config unset artifacts/repository
    gcloud config unset artifacts/location
    

次のステップ