npm 빠른 시작

이 빠른 시작에서는 Artifact Registry npm 저장소를 설정하고 여기에 패키지를 업로드하는 방법을 보여줍니다.

패키지 관리는 알파 버전입니다. 이 기능은 알파 사용자에게만 제공되며 컨테이너 관리에 사용할 수 있는 모든 기능이 포함되지 않을 수 있습니다. 알파 버전을 신청하려면 가입 양식을 작성하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. Artifact Registry API를 사용 설정합니다.

    API 사용 설정

  5. Cloud SDK 설치 및 초기화
  6. Windows에서 npm 저장소에 연결하려면 PowerShell을 설치합니다.

npm 저장소 만들기

Node.js 아티팩트의 저장소를 만듭니다.

  1. 저장소를 만듭니다.

    Console

    1. Cloud Console에서 저장소 페이지를 엽니다.

      저장소 페이지 열기

    2. 저장소 만들기를 클릭합니다.

    3. quickstart-npm-repo를 저장소 이름으로 지정합니다.

    4. 형식으로 npm을 선택합니다.

    5. 위치 유형에서 리전을 선택하고 위치 us-central1를 선택합니다.

    6. 만들기를 클릭합니다.

    저장소가 저장소 목록에 추가됩니다.

    gcloud

    1. 다음 명령어를 실행하여 'npm 저장소'라고 기술된 us-central1 위치에 quickstart-npm-repo라는 이름의 새 npm 저장소를 만듭니다.

      gcloud artifacts repositories create quickstart-npm-repo --repository-format=npm \
      --location=us-central1 [--description="npm repository"]
      
    2. 다음 명령어를 실행하여 저장소가 생성되었는지 확인합니다.

      gcloud artifacts repositories list
      

    Artifact Registry 명령어에 대한 자세한 내용을 보려면 gcloud artifacts 명령어를 실행하세요.

  2. 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을 대행할 기존 서비스 계정을 만들거나 선택합니다.

  1. 애플리케이션 대신 작동하도록 서비스 계정을 만들거나 자동화에 사용할 기존 서비스 계정을 선택합니다.

    Artifact Registry로 인증을 설정하려면 서비스 계정 키 파일의 위치가 필요합니다. 기존 계정의 경우 서비스 계정 페이지에서 키를 확인하고 새 키를 만들 수 있습니다.

    서비스 계정 페이지로 이동

  2. 서비스 계정에 저장소에 대한 읽기 및 쓰기 액세스 권한을 부여합니다.

    gcloud artifacts repositories add-iam-policy-binding \
    quickstart-npm-repo --location=us-central1 --member='serviceAccount:ACCOUNT' --role='roles/artifactregistry.writer'
    

    여기서 ACCOUNTUSERNAME@PROJECT-ID.iam.gserviceaccount.com 형식의 서비스 계정 ID입니다.

  3. 저장소와 연결할 때 Artifact Registry 사용자 인증 정보 도우미가 키를 가져올 수 있도록 서비스 계정 키 파일 위치를 변수 GOOGLE_APPLICATION_CREDENTIALS에 할당합니다.

    export GOOGLE_APPLICATION_CREDENTIALS=KEY-FILE
    

    여기서 KEY-FILE는 서비스 계정 키 파일의 경로입니다.

    서비스 계정 키 파일로 비밀번호 인증을 설정하는 방법에 대한 자세한 내용은 authentication#auth-password 문서를 참조하세요.

npm 구성

  1. 업로드할 npm 패키지를 만듭니다. 이 빠른 시작에서 사용할 수 있는 패키지가 없으면 다음 명령어를 실행하여 일반 package.json 파일을 만듭니다.

    npm init -y
    
  2. 만든 Artifact Registry 저장소에 배포하도록 npm 프로젝트를 구성합니다.

    1. 다음 명령어를 실행합니다. 이 명령어는 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
      
    2. 이전 단계의 구성 설정을 프로젝트 .npmrc 파일에 추가합니다. 이 파일은 일반적으로 package.json 파일과 동일한 디렉터리에 있습니다.

      PROJECT를 프로젝트 ID로 바꿉니다.

      .npmrc 파일에 대한 자세한 내용은 Node.js 개요를 참조하세요.

각 Artifact Registry npm 저장소는 npm 레지스트리 엔드포인트 https://LOCATION-npm.pkg.dev/PROJECT/REPOSITORY와 연결됩니다. 다른 Artifact Registry npm 저장소를 만들면 npm은 자체 범위가 있는 별도의 레지스트리와 상호작용합니다.

저장소에 패키지 업로드

  1. 업로드할 패키지를 선택합니다. package.json의 패키지 이름에 quickstart 범위가 포함되어 있는지 확인합니다.

    "name": "@quickstart/my-package"
    
  2. 저장소에 연결하기 위한 액세스 토큰을 새로고침합니다. google-artifact Registry-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은 다음 단계를 수행합니다.

      1. 다음 명령어를 실행합니다.
      npm install google-artifactregistry-auth --save-dev --registry https://registry.npmjs.org/
      
      1. 이 스크립트를 인증 스크립트에 추가합니다.
      "scripts": {
          "artifactregistry-login": "./node_modules/.bin/artifactregistry-auth",
      }
      

      다음 명령어를 사용하여 스크립트를 실행합니다.

      npm run artifactregistry-login PROJECT-NPMRC
      

      여기서 PROJECT-NPMRC는 프로젝트 디렉터리에 있는 .npmrc 파일의 경로입니다.

  3. 패키지를 저장소에 추가합니다. npm 또는 yarn 명령어를 사용할 수 있습니다.

    npm publish
    
    yarn publish
    

저장소의 패키지 보기

패키지가 저장소에 추가되었는지 확인하려면 다음 안내를 따르세요.

Console

  1. Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 quickstart-npm-repo 저장소를 선택합니다.

    패키지 페이지에 저장소의 패키지가 나열됩니다.

  3. 패키지를 클릭하여 패키지 버전을 확인합니다.

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 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.

저장소를 삭제하기 전에, 보관할 패키지가 다른 위치에서 사용할 수 있는지 확인합니다.

저장소를 삭제하려면 다음 안내를 따르세요.

Console

  1. Cloud Console에서 저장소 페이지를 엽니다.

    저장소 페이지 열기

  2. 저장소 목록에서 quickstart-npm-repo 저장소를 선택합니다.

  3. 삭제를 클릭합니다.

gcloud

  1. quickstart-npm-repo 저장소를 삭제하려면 다음 명령어를 실행합니다.

    gcloud artifacts repositories delete quickstart-npm-repo
    
  2. 활성 gcloud 구성에 지정한 기본 저장소 및 위치 설정을 삭제하려면 다음 명령어를 실행합니다.

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

다음 단계