CodeArtifact로 Yarn 구성 및 사용 - CodeArtifact

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CodeArtifact로 Yarn 구성 및 사용

리포지토리를 만든 후 Yarn 클라이언트를 사용하여 npm 패키지를 관리할 수 있습니다.

참고

Yarn 1.X는 npm 구성 파일(.npmrc)에서 정보를 읽고 사용하지만 Yarn 2.X는 그렇지 않습니다. Yarn 2.X에 대한 구성은 .yarnrc.yml 파일에 정의해야 합니다.

aws codeartifact login 명령을 사용하여 Yarn 1.X를 구성합니다.

Yarn 1.X의 경우, aws codeartifact login 명령을 실행하여 CodeArtifact로 Yarn을 구성할 수 있습니다. 이 login 명령을 실행하면 CodeArtifact 리포지토리 엔드포인트 정보 및 보안 인증으로 ~/.npmrc 파일이 구성됩니다. Yarn 1.X를 사용하면 yarn 명령은 ~/.npmrc 파일의 구성 정보를 사용합니다.

login 명령으로 Yarn 1.X를 구성하려면
  1. AWS 보안 인증을 아직 구성하지 않았다면 CodeArtifact 시작하기에 설명된 대로 AWS CLI에서 사용할 이 보안 인증을 구성합니다.

  2. aws codeartifact login 명령을 성공적으로 실행하려면 npm을 설치해야 합니다. 설치 지침에 관한 내용은 npm 설명서의 Node.js 및 npm 다운로드 및 설치를 참조합니다.

  3. aws codeartifact login 명령을 실행하여 CodeArtifact 보안 인증을 가져오고 ~/.npmrc 파일을 구성합니다.

    • my_domain을 CodeArtifact 도메인 이름으로 변경합니다.

    • 111122223333을 도메인 소유자의 AWS 계정 ID로 변경합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 섹션을 참조하세요.

    • my_repo를 CodeArtifact 리포지토리 이름으로 변경합니다.

    aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo

    login 명령은 ~/.npmrc 파일을 다음과 같이 변경합니다.

    • AWS 보안 인증을 사용하여 CodeArtifact에서 가져온 인증 토큰을 추가합니다.

    • npm 레지스트리를 --repository 옵션으로 지정된 리포지토리로 설정합니다.

    • npm 6 이하의 경우: 모든 npm 명령에 대해 인증 토큰이 전송되도록 "always-auth=true"를 추가합니다.

    login 직접 호출 후 기본 인증 기간은 12시간이며 토큰을 주기적으로 새로 고치려면 login을 직접적으로 호출해야 합니다. login 명령으로 만든 인증 토큰에 관한 자세한 내용은 login 명령으로 생성된 토큰을 참조하세요.

  4. npm 7.X 및 8.X의 경우 Yarn을 사용하려면 ~/.npmrc 파일에 always-auth=true를 추가해야 합니다.

    1. 텍스트 편집기에서 ~/.npmrc 파일을 열고 always-auth=true를 새 줄에 추가합니다.

yarn config list 명령을 실행하면 Yarn이 올바른 구성을 사용하고 있는지 확인할 수 있습니다. 명령을 실행한 후 info npm config 섹션의 값을 확인합니다. 내용은 다음 코드 조각과 비슷해야 합니다.

info npm config { registry: 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/', '//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken': 'eyJ2ZXI...', 'always-auth': true }

yarn config set 명령을 사용하여 Yarn 2.X를 구성합니다.

다음 절차는 yarn config set 명령을 사용해 명령줄에서 .yarnrc.yml 구성을 업데이트하여 Yarn 2.X를 구성하는 방법을 자세히 설명합니다.

명령줄에서 yarnrc.yml 구성을 업데이트하려면
  1. AWS 보안 인증을 아직 구성하지 않았다면 CodeArtifact 시작하기에 설명된 대로 AWS CLI에서 사용할 이 보안 인증을 구성합니다.

  2. aws codeartifact get-repository-endpoint 명령을 실행하여 CodeArtifact 리포지토리의 엔드포인트를 가져올 수 있습니다.

    • my_domain을 CodeArtifact 도메인 이름으로 변경합니다.

    • 111122223333을 도메인 소유자의 AWS 계정 ID로 변경합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 섹션을 참조하세요.

    • my_repo를 CodeArtifact 리포지토리 이름으로 변경합니다.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
  3. .yarnrc.yml 파일의 npmRegistryServer 값을 리포지토리 엔드포인트로 업데이트합니다.

    yarn config set npmRegistryServer "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"
  4. CodeArtifact 인증 토큰을 가져와 환경 변수에 저장합니다.

    참고

    다음 명령은 macOS 또는 Linux 시스템에 사용됩니다. Windows 시스템에서 환경 변수를 구성하는 방법에 관한 자세한 내용은 환경 변수를 사용하여 인증 토큰 전달을 참조합니다.

    • my_domain을 CodeArtifact 도메인 이름으로 변경합니다.

    • 111122223333을 도메인 소유자의 AWS 계정 ID로 변경합니다. 소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 섹션을 참조하세요.

    • my_repo를 CodeArtifact 리포지토리 이름으로 변경합니다.

    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  5. yarn config set 명령을 사용하여 CodeArtifact 인증 토큰을 .yarnrc.yml 파일에 추가합니다. 다음 명령의 URL을 2단계의 리포지토리 엔드포인트 URL로 변경합니다.

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}"
  6. yarn config set 명령을 실행하여 npmAlwaysAuth의 값을 true로 설정합니다. 다음 명령의 URL을 2단계의 리포지토리 엔드포인트 URL로 변경합니다.

    yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAlwaysAuth' "true"

구성한 후에는 .yarnrc.yml 구성 파일에 다음 코드 조각과 비슷한 내용이 포함되어야 합니다.

npmRegistries: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/": npmAlwaysAuth: true npmAuthToken: eyJ2ZXI... npmRegistryServer: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/"

yarn config 명령을 실행하여 npmRegistriesnpmRegistryServer의 값을 확인할 수도 있습니다.