다음을 통해 공유


Crates.io 패키지 사용

Azure DevOps Services

Azure Artifacts 업스트림 원본을 사용하면 개발자가 Crates.io 및 nuget.org 같은 공용 레지스트리의 패키지를 사용할 수 있습니다. 이 문서에서는 프로젝트를 설정하고 명령줄을 사용하여 Crates.io 크레이트를 사용하는 방법을 안내합니다.

이 문서에서는 다음 방법을 안내합니다.

  • Azure Artifacts 피드 만들기
  • 피드에 커넥트
  • 업스트림 상자 사용

필수 조건

피드 만들기

Azure Artifacts는 crates.io 상자를 사용하기 위한 전용 피드와 내부 크레이트를 게시하기 위한 별도의 피드를 사용하는 것이 좋습니다.

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

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

  3. 피드의 이름을 입력하고 표시 유형을 정의한 다음 범위를 선택합니다. 공용 레지스트리의 패키지를 포함하도록 업스트림 원본 검사box를 검사 합니다.

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

    화물 업스트림 대한 피드를 만드는 방법을 보여 주는 스크린샷

피드에 커넥트

  1. Azure DevOps 조직에 로그인한 다음 프로젝트로 이동합니다.

  2. 아티팩트 및 드롭다운 메뉴에서 피드를 선택합니다.

  3. 피드할 커넥트 선택한 다음 왼쪽 탐색 창에서 Cargo를 선택합니다.

  4. Azure Artifacts와 함께 Cargo를 처음 사용하는 경우 rustup을 설치했는지 확인합니다.

  5. 프로젝트 설정 섹션의 제공된 코드 조각을 원본 리포지토리의 .cargo/config.toml 파일에 추가합니다.

    • 프로젝트 범위 피드:
    [registries]
    <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
    
    [source.crates-io]
    replace-with = "<FEED_NAME>"
    
    • 조직 범위 피드:
    [registries]
    <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
    
    [source.crates-io]
    replace-with = "<FEED_NAME>"
    

자격 증명 공급자 구성

Azure Artifacts에서 Cargo를 사용하려면 자격 증명 공급자를 설정해야 합니다. 제공된 설정은 현재 사용자에 대한 기본 자격 증명 도우미를 구성합니다.

%USERPROFILE%.cargo\config.toml에 다음 코드 조각을 붙여넣습니다.

[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]

레지스트리에 로그인

  1. 패키징>읽기 및 쓰기 범위를 사용하여 개인 액세스 토큰을 만들어 피드로 인증합니다.

  2. 다음 명령을 실행하여 레지스트리에 로그인합니다. 자리 표시자를 피드의 이름으로 바꾸고 메시지가 표시되면 이전 단계에서 만든 개인용 액세스 토큰을 붙여넣습니다.

    "Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
    

Crates.io 패키지 저장

참고 항목

업스트림 패키지를 저장하려면 피드 및 업스트림 판독기(협력자) 역할 이상이 있어야 합니다. 자세한 내용은 사용 권한을 참조하세요.

이제 프로젝트를 설정하고, 자격 증명 공급자를 구성하고, 피드에 로그인했으므로 업스트림 패키지 사용을 시작할 수 있습니다. Azure Artifacts는 업스트림 설치한 패키지의 복사본을 피드에 저장합니다.

이 예제에서는 직렬화/역직렬화 프레임워크인 크레이트를 사용합니다 serde .

  1. 프로젝트 디렉터리에서 다음 명령을 실행하여 cargo.toml에 상자를 추가합니다.

    cargo add serde
    
  2. 다음 명령을 실행하여 프로젝트를 빌드하고 상자를 사용합니다.

    cargo build
    

패키지가 설치되면 복사본이 피드에 저장됩니다. 피드로 이동하여 현재 상태를 확인합니다. 아래와 같이 피드에서 패키지를 사용할 수 있어야 합니다.

업스트림 사용된 *serde* 상자를 보여 주는 스크린샷.