다음을 통해 공유


공용 피드에서 업스트림 원본 사용

Azure Artifacts를 사용하면 개발자가 단일 피드에서 종속성을 관리할 수 있습니다. 업스트림 원본을 사용하면 피드 및 공용 레지스트리(예: NuGet.org 및 npmjs.com)의 패키지를 사용할 수 있습니다. 이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • 공용 피드 만들기
  • 업스트림 원본 사용
  • 새 업스트림 원본 추가

필수 조건

Important

패키지 잠금 파일은 재현 가능한 빌드를 지원하고 퍼블릭 피드를 사용할 때 익명 사용자에게 자격 증명을 묻는 메시지가 표시되는 시나리오를 최소화합니다.

공용 피드 만들기

퍼블릭 피드는 퍼블릭 프로젝트의 프로젝트 범위 피드입니다. 퍼블릭 피드는 호스팅 프로젝트의 표시 유형 설정을 상속합니다.

  1. Azure DevOps 조직에 로그인한 다음, 퍼블릭 프로젝트를 선택합니다.

  2. 아티팩트 및 피드 만들기를 선택합니다.

    Azure Artifacts의 피드 만들기 단추를 보여 주는 스크린샷.

  3. 피드에 이름을 지정한 다음, 해당 범위에 대해 Project: PublicProject(권장)를 선택합니다.

    새 퍼블릭 피드를 만드는 방법을 보여 주는 스크린샷

  4. 완료되면 만들기를 선택합니다.

업스트림 원본 추가

  1. Azure DevOps 조직에 로그인한 다음, 퍼블릭 프로젝트를 선택합니다.

  2. 아티팩트, 공용 피드를 선택합니다.

  3. 기어 아이콘 기어 아이콘 을 선택하여 피드 설정 액세스합니다.

  4. 업스트림 원본을 선택한 다음 업스트림 추가를 선택합니다.

    공용 피드에 업스트림 원본을 추가하는 방법을 보여 주는 스크린샷

  5. 업스트림 원본 유형을 선택합니다. 이 예제에서는 NuGet.org 업스트림 원본으로 추가합니다.

    다양한 유형의 업스트림 원본을 보여 주는 스크린샷

  6. 원본을 구성한 다음 완료되면 저장을 선택합니다.

    업스트림 원본을 구성하는 방법을 보여 주는 스크린샷

  7. 저장을 선택하여 새 업스트림 원본을 저장합니다.

    새로 추가된 업스트림 원본을 저장하는 방법을 보여 주는 스크린샷

Important

퍼블릭 피드는 프라이빗 아티팩트 피드에 대한 업스트림 지원하지 않습니다. 공용 Azure Artifacts 피드를 사용하는 경우 공용 레지스트리(NuGet.org, npmjs) 또는 기타 공용 Azure Artifacts 피드에만 업스트림 수 있습니다.

패키지 복원

관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.

nuget.exe restore

참고 항목

업스트림 새 패키지 버전을 설치하려면 피드 및 업스트림 판독기(협력자) 이상이어야 합니다. 익명 사용자는 피드에 있는 패키지만 설치할 수 있습니다.

Q&A

Q: 패키지를 복원하려고 하지만 401 권한 없는 오류가 계속 발생합니까?

피드의 콘텐츠는 피드에 대한 적절한 권한이 있는 인증되고 권한이 부여된 ID에 의해서만 변경할 수 있습니다. 여기에는 업스트림 원본에서 피드에 패키지를 저장하는 것이 포함됩니다. 인증되지 않은(익명) 사용자는 피드에 이미 저장된 패키지를 다운로드할 수 있지만 업스트림 새 패키지를 피드에 저장할 수는 없습니다.

프로젝트의 유지 관리자가 필요한 모든 패키지 버전을 퍼블릭 피드에 저장해야 합니다. 이 작업은 메시지가 표시될 때 피드에 자격 증명을 제공할 수 있는 ID를 사용하여 프로젝트를 복원하고 사용된 ID에 공용 피드에 대한 피드 및 업스트림 판독기(협력자) 이상의 권한이 있는지 확인하여 수행할 수 있습니다.

프로젝트에 대한 패키지를 복원하는 익명 사용자가 자격 증명 요청(401 응답)에 의해 반복적으로 차단되는 경우 다음 방법을 통해 문제를 줄이거나 제거합니다.

  1. 프로젝트 구성에서 패키지 버전 범위를 사용하지 않습니다. 명시적 패키지 버전은 패키징 클라이언트가 필요한 정확한 버전만 요청하도록 합니다.

  2. 지원되는 경우 패키징 클라이언트가 복원/설치 작업 중에 프로젝트에 필요한 특정 버전만 요청하게 되도록 패키징 에코시스템에 잠금 파일을 활용합니다.

Q: Visual Studio를 사용하여 패키지를 복원하려고 하지만 다른 원본에서 가져온 것을 알아차리고 있나요?

A: Visual Studio가 로컬 NuGet 패키지 관리자가 아닌 nuget.config 파일에서 참조되는 원본을 사용하고 있는지 확인합니다. 자세한 내용은 패키지 원본을 참조하세요.

NuGet CLI를 사용하여 다음 명령을 실행하여 NuGet이 구성 파일의 원본을 사용하도록 강제할 수도 있습니다.

nuget restore -config <PATH_TO_NUGET_CONFIG_FILE>