너겟 또는 도트넷과 CodeArtifact 함께 사용 CLI - CodeArtifact

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

너겟 또는 도트넷과 CodeArtifact 함께 사용 CLI

nuget 및 와 같은 CLI 도구를 사용하여 dotnet 의 패키지를 게시하고 사용할 수 있습니다 CodeArtifact. 이 문서는 CLI 도구를 구성하고 이를 사용하여 패키지를 게시하거나 사용하는 방법에 대한 정보를 제공합니다.

너겟 또는 도트넷 구성 CLI

자격 CodeArtifact NuGet 증명 공급자, 또는 CLI를 사용하여 너겟 AWS CLI또는 도트넷을 수동으로 구성할 수 있습니다. 간소화된 설정과 지속적인 인증을 위해서는 자격 증명 공급자 NuGet 를 사용하여 를 구성하는 것이 좋습니다.

방법 1: CodeArtifact NuGet 자격 증명 공급자로 구성

CodeArtifact NuGet 자격 증명 공급자는 도구를 CodeArtifact 사용하여 NuGet CLI 의 인증 및 구성을 간소화합니다. CodeArtifact 인증 토큰은 최대 12시간 동안 유효합니다. 너겟 또는 도트넷을 사용하는 동안 토큰을 수동으로 새로 고칠 필요가 없도록 자격 CLI증명 공급자는 현재 토큰이 만료되기 전에 주기적으로 새 토큰을 가져옵니다.

중요

자격 증명 공급자를 사용하려면 수동으로 추가되었거나 NuGet 이전에 구성aws codeartifact login하기 위해 를 실행하여 nuget.config 파일에서 기존 AWS CodeArtifact 자격 증명을 지워야 합니다.

CodeArtifact NuGet 자격 증명 공급자 설치 및 구성

dotnet
  1. 다음 dotnet 명령을 사용하여 AWS.org에서 최신 버전의 NuGet.CodeArtifact.NuGet.CredentialProvider tool을 다운로드합니다.

    dotnet tool install -g AWS.CodeArtifact.NuGet.CredentialProvider
  2. codeartifact-creds install 명령을 사용하여 자격 증명 공급자를 NuGet 플러그인 폴더에 복사합니다.

    dotnet codeartifact-creds install
  3. (선택 사항): 자격 증명 공급자에 사용할 AWS 프로필을 설정합니다. 설정하지 않으면 보안 인증 공급자가 기본 프로파일을 사용합니다. AWS CLI 프로파일에 대한 자세한 내용은 명명된 프로파일 섹션을 참조하세요.

    dotnet codeartifact-creds configure set profile profile_name
nuget

다음 단계를 수행하여 NuGet CLI를 사용하여 Amazon S3 버킷에서 CodeArtifact NuGet 자격 증명 공급자를 설치하고 구성합니다. 자격 증명 공급자는 기본 AWS CLI 프로필을 사용합니다. 프로필에 대한 자세한 내용은 명명된 프로필 섹션을 참조하세요.

  1. Amazon S3 버킷에서 최신 버전의 CodeArtifact NuGet 자격 증명 공급자(codeartifact-nuget-credentialprovider.zip)를 다운로드합니다.

    이전 버전을 보고 다운로드하려면 CodeArtifact NuGet 자격 증명 공급자 버전를 참조하십시오.

  2. 파일 압축을 풉니다.

  3. netfx 폴더의 AWS.CodeArtifact.NuGetCredentialProvider 폴더를 %user_profile%/.nuget/plugins/netfx/ Windows 또는 Linux 또는 MacOS~/.nuget/plugins/netfx에 복사합니다.

  4. netcore 폴더의 AWS.CodeArtifact.NuGetCredentialProvider 폴더를 %user_profile%/.nuget/plugins/netcore/ Windows 또는 Linux 또는 MacOS~/.nuget/plugins/netcore에 복사합니다.

리포지토리를 생성하고 자격 증명 공급자를 구성한 후 nuget 또는 dotnet CLI 도구를 사용하여 패키지를 설치하고 게시할 수 있습니다. 자세한 내용은 에서 NuGet 패키지 소비 CodeArtifact에 NuGet 패키지 게시 CodeArtifact 단원을 참조하세요.

방법 2: 로그인 명령으로 nuget 또는 dotnet을 구성하기

codeartifact login 명령은 NuGet 구성 파일에 리포지토리 엔드포인트 및 권한 부여 토큰을 AWS CLI 추가하여 너겟 또는 도트넷이 CodeArtifact 리포지토리에 연결할 수 있도록 합니다. 이렇게 하면 Windows 및 ~/.config/NuGet/NuGet.Config Mac~/.nuget/NuGet/NuGet.Config/Linux의 %appdata%\NuGet\NuGet.Config 경우 에 있는 사용자 수준 NuGet 구성이 수정됩니다. NuGet 구성에 대한 자세한 내용은 일반 NuGet 구성 섹션을 참조하세요.

login 명령을 사용하여 nuget 또는 dotnet을 구성하기
  1. 에 설명된 AWS CLI대로 에서 사용할 AWS 자격 증명을 구성합니다CodeArtifact 시작하기.

  2. 도구(nuget 또는 dotnet)가 NuGet CLI 제대로 설치 및 구성되었는지 확인합니다. 지침은 nuget 또는 dotnet 설명서를 참조하십시오.

  3. 명령을 사용하여 에 CodeArtifact login 사용할 보안 인증을 가져옵니다 NuGet.

    참고

    소유한 도메인의 리포지토리에 액세스하는 경우 --domain-owner를 포함하지 않아도 됩니다. 자세한 내용은 크로스 계정 도메인 단원을 참조하십시오.

    dotnet
    중요

    Linux 및 macOS 사용자: Windows 이외의 플랫폼에서는 암호화를 지원하지 않으므로 가져온 보안 인증은 구성 파일에 일반 텍스트로 저장됩니다.

    aws codeartifact login --tool dotnet --domain my_domain --domain-owner 111122223333 --repository my_repo
    nuget
    aws codeartifact login --tool nuget --domain my_domain --domain-owner 111122223333 --repository my_repo

로그인 명령은 다음과 같습니다.

  • AWS 자격 증명을 CodeArtifact 사용하여 에서 권한 부여 토큰을 가져옵니다.

  • NuGet 패키지 소스의 새 항목으로 사용자 수준 NuGet 구성을 업데이트합니다. CodeArtifact 리포지토리 엔드포인트를 가리키는 소스를 라고 합니다domain_name/repo_name.

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

리포지토리를 생성하고 인증을 구성한 후 nuget, dotnet또는 msbuild CLI 클라이언트를 사용하여 패키지를 설치하고 게시할 수 있습니다. 자세한 내용은 에서 NuGet 패키지 소비 CodeArtifact에 NuGet 패키지 게시 CodeArtifact 단원을 참조하세요.

방법 3: 로그인 명령 없이 nuget 또는 dotnet 구성하기

수동 구성의 경우 구성 NuGet 파일에 리포지토리 엔드포인트 및 권한 부여 토큰을 추가하여 너겟 또는 도트넷이 리 CodeArtifact 포지토리에 연결할 수 있도록 해야 합니다.

CodeArtifact 리포지토리에 연결하도록 너트 또는 도트넷을 수동으로 구성합니다.

  1. get-repository-endpoint AWS CLI 명령을 사용하여 CodeArtifact 리포지토리 엔드포인트를 확인합니다.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format nuget

    출력 예제:

    { "repositoryEndpoint": "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/" }
  2. get-authorization-token AWS CLI 명령을 사용하여 패키지 관리자에서 리포지토리에 연결할 권한 부여 토큰을 가져옵니다.

    aws codeartifact get-authorization-token --domain my_domain

    출력 예제:

    { "authorizationToken": "eyJ2I...viOw", "expiration": 1601616533.0 }
  3. 3단계get-repository-endpoint에서 URL 반환된 에 URL /v3/index.json를 추가하여 전체 리포지토리 엔드포인트를 생성합니다.

  4. 1단계의 리포지토리 엔드포인트와 2단계의 인증 토큰을 사용하도록 nuget 또는 dotnet을 구성합니다.

    참고

    리 CodeArtifact 포지토리/v3/index.json에 성공적으로 연결하려면 너트 또는 도트넷에 대한 소스가 로 끝나야 URL 합니다.

    dotnet

    Linux 및 macOS 사용자: Windows 이외의 플랫폼에서는 암호화를 지원하지 않으므로 다음 명령에 --store-password-in-clear-text 플래그를 추가해야 합니다. 단, 이렇게 하면 비밀번호가 구성 파일에 일반 텍스트로 저장됩니다.

    dotnet nuget add source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json --name packageSourceName --password eyJ2I...viOw --username aws
    참고

    기존 소스를 업데이트하려면 dotnet nuget update source 명령을 사용하세요.

    nuget
    nuget sources add -name domain_name/repo_name -Source https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json -password eyJ2I...viOw -username aws

    출력 예제:

    Package source with Name: domain_name/repo_name added successfully.
    참고

    듀얼 스택 엔드포인트를 사용하려면 codeartifact.region.on.aws 엔드포인트를 사용합니다.

에서 NuGet 패키지 소비 CodeArtifact

NuGet 로 를 구성 CodeArtifact한 후에는 CodeArtifact 리포지토리 또는 업스트림 리포지토리 중 하나에 저장된 NuGet 패키지를 사용할 수 있습니다.

nuget 또는 를 사용하여 CodeArtifact 리포지토리 또는 업스트림 리포지토리 중 하나에서 패키지 버전을 사용하려면 다음 명령을 dotnet실행합니다.packageName 사용하려는 패키지의 이름과 함께 및 packageSourceName NuGet 구성 파일의 CodeArtifact 리포지토리 소스 이름을 사용합니다. login 명령을 사용하여 NuGet 구성을 구성한 경우 소스 이름은 입니다.domain_name/repo_name.

참고

패키지를 요청하면 NuGet 클라이언트는 해당 패키지의 어떤 버전이 존재하는지 캐싱합니다. 이 동작으로 인해 원하는 버전이 제공되기 전에 이전에 요청된 패키지의 설치가 실패할 수 있습니다. 이러한 실패를 방지하고 존재하는 패키지를 성공적으로 설치하려면 nuget locals all --clear 또는 를 사용하여 설치하기 전에 NuGet 캐시를 지우거나 dotnet nuget locals all --clear에 대한 -NoCache 옵션 nuget 또는 에 대한 --no-cache 옵션을 제공하여 installrestore 명령 중에 캐시 사용을 피할 수 있습니다dotnet.

dotnet
dotnet add package packageName --source packageSourceName
nuget
nuget install packageName -Source packageSourceName

특정 버전 패키지 설치 방법

dotnet
dotnet add package packageName --version 1.0.0 --source packageSourceName
nuget
nuget install packageName -Version 1.0.0 -Source packageSourceName

자세한 내용은 Microsoft 설명서의 nuget.exe를 사용하여 패키지 관리 CLI 또는 도트넷을 사용하여 패키지 설치 및 관리를 CLI 참조하세요.

NuGet.org 에 대한 외부 연결이 있는 리 CodeArtifact 포지토리를 구성하여 NuGet.org에서 리포지토리를 통해 NuGet 패키지를 사용할 수 있습니다. NuGet.org에서 사용된 패키지는 수집되어 CodeArtifact 리포지토리에 저장됩니다. 외부 연결 추가에 대한 자세한 내용은 CodeArtifact 리포지토리를 공용 리포지토리에 연결을 참조하세요.

에 NuGet 패키지 게시 CodeArtifact

NuGet 로 를 구성 CodeArtifact한 후에는 nuget 또는 dotnet를 사용하여 패키지 버전을 CodeArtifact 리포지토리에 게시할 수 있습니다.

패키지 버전을 CodeArtifact 리포지토리로 푸시하려면 파일의 전체 경로와 NuGet 구성 .nupkg 파일의 리 CodeArtifact 포지토리 소스 이름을 사용하여 다음 명령을 실행합니다. login 명령을 사용하여 NuGet 구성을 구성한 경우 소스 이름은 입니다domain_name/repo_name.

참고

게시할 패키지가 없는 경우 NuGet 패키지를 생성할 수 있습니다. 자세한 내용은 Microsoft 설명서패키지 생성 워크플로를 참조하십시오.

dotnet
dotnet nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg --source packageSourceName
nuget
nuget push path/to/nupkg/SamplePackage.1.0.0.nupkg -Source packageSourceName

CodeArtifact NuGet 자격 증명 공급자 참조

CodeArtifact NuGet 자격 증명 공급자를 사용하면 CodeArtifact 리포지토리를 쉽게 구성하고 인증할 NuGet 수 있습니다.

CodeArtifact NuGet 자격 증명 공급자 명령

이 섹션에는 CodeArtifact NuGet 자격 증명 공급자에 대한 명령 목록이 포함되어 있습니다. 다음 예제와 같이 이러한 명령 앞에 접두사 dotnet codeartifact-creds 를 붙여야 합니다.

dotnet codeartifact-creds command
  • configure set profile profile: 제공된 AWS 프로파일을 사용하도록 자격 증명 공급자를 구성합니다.

  • configure unset profile: 구성된 프로필이 설정된 경우 해당 프로필을 제거합니다.

  • install: 보안 인증 공급자를 plugins 폴더에 복사합니다.

  • install --profile profile: 보안 인증 공급자를 plugins 폴더에 복사하고 제공된 AWS 프로파일을 사용하도록 구성합니다.

  • uninstall: 보안 인증 공급자를 제거합니다. 이렇게 해도 구성 파일에 대한 변경 내용은 제거되지 않습니다.

  • uninstall --delete-configuration: 보안 인증 공급자를 제거하고 구성 파일의 모든 변경 사항을 제거합니다.

CodeArtifact NuGet 자격 증명 공급자 로그

CodeArtifact NuGet 자격 증명 공급자에 대한 로깅을 활성화하려면 환경에서 로그 파일을 설정해야 합니다. 보안 인증 공급자 로그에는 다음과 같은 유용한 디버깅 정보가 포함되어 있습니다.

  • 연결에 사용되는 AWS 프로필

  • 모든 인증 오류

  • 제공된 엔드포인트가 가 아닌 경우 CodeArtifact URL

CodeArtifact NuGet 자격 증명 공급자 로그 파일 설정

export AWS_CODEARTIFACT_NUGET_LOGFILE=/path/to/file

로그 파일이 설정되면 모든 codeartifact-creds 명령은 해당 로그 출력을 해당 파일의 내용에 추가합니다.

CodeArtifact NuGet 자격 증명 공급자 버전

다음 표에는 CodeArtifact NuGet 자격 증명 공급자에 대한 버전 기록 정보와 다운로드 링크가 포함되어 있습니다.

버전 변경 게시 날짜 다운로드 링크 (S3)

1.0.2(최신)

업그레이드된 종속성

06/26/2024

v1.0.2 다운로드

1.0.1

net5, net6 및 SSO 프로파일에 대한 지원이 추가되었습니다.

03/05/2022

v1.0.1 다운로드

1.0.0

초기 CodeArtifact NuGet 자격 증명 공급자 릴리스

11/20/2020

v1.0.0 다운로드