Udostępnij za pośrednictwem


Używanie pakietów z Crates.io

Azure DevOps Services | Azure DevOps Server 2022

Źródła nadrzędne usługi Azure Artifacts umożliwiają deweloperom korzystanie z pakietów z publicznych rejestrów, takich jak Crates.io i nuget.org. Ten artykuł przeprowadzi Cię przez proces konfigurowania projektu i używania wiersza polecenia do korzystania z stawek z Crates.io.

Ten artykuł przeprowadzi Cię przez proces wykonywania następujących instrukcji:

  • Tworzenie źródła danych usługi Azure Artifacts
  • Nawiązywanie połączenia z kanałem informacyjnym
  • Korzystanie z skrzynek z nadrzędnego strumienia

Wymagania wstępne

Tworzenie kanału informacyjnego

Usługa Azure Artifacts zaleca posiadanie dedykowanego kanału informacyjnego do używania skrzynek z crates.io i oddzielnego kanału informacyjnego wyłącznie do publikowania wewnętrznych skrzynek.

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz pozycję Utwórz kanał informacyjny.

  3. Wprowadź nazwę źródła danych, zdefiniuj jego widoczność, a następnie wybierz zakres. Pamiętaj, aby zaznaczyć pole wyboru Nadrzędne źródła , aby uwzględnić pakiety z publicznych rejestrów.

  4. Po zakończeniu wybierz pozycję Utwórz .

    Zrzut ekranu przedstawiający sposób tworzenia kanału informacyjnego dla ładunku nadrzędnego.

Nawiązywanie połączenia z kanałem informacyjnym

  1. Zaloguj się do organizacji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  3. Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję Ładunek w okienku nawigacji po lewej stronie.

  4. Jeśli po raz pierwszy używasz ładunku w usłudze Azure Artifacts, upewnij się, że zainstalowano rustup.

  5. Dodaj podany fragment kodu z sekcji Konfiguracja projektu do pliku cargo/config.toml w repozytorium źródłowym:

    • Źródło danych o zakresie projektu:

      [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>"
      
    • Kanał informacyjny o zakresie organizacji:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
  1. Zaloguj się do kolekcji usługi Azure DevOps, a następnie przejdź do projektu.

  2. Wybierz pozycję Artefakty, a następnie wybierz źródło danych z menu rozwijanego.

  3. Wybierz pozycję Połącz z kanałem informacyjnym, a następnie wybierz pozycję Ładunek w okienku nawigacji po lewej stronie.

  4. Jeśli po raz pierwszy używasz ładunku w usłudze Azure Artifacts, upewnij się, że zainstalowano rustup.

  5. Dodaj podany fragment kodu z sekcji Konfiguracja projektu do pliku cargo/config.toml w repozytorium źródłowym:

    • Źródło danych o zakresie projektu:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      
    • Źródło danych o zakresie kolekcji:

      [registries]
      <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
      
      [source.crates-io]
      replace-with = "<FEED_NAME>"
      

Konfigurowanie dostawcy poświadczeń

Aby używać ładunku w usłudze Azure Artifacts, należy skonfigurować dostawcę poświadczeń. Podane ustawienia spowodują skonfigurowanie domyślnego pomocnika poświadczeń dla bieżącego użytkownika:

Wklej następujący fragment kodu w pliku %USERPROFILE%.cargo\config.toml:

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

Zaloguj się do rejestru

  1. Utwórz osobisty token dostępu z zakresami odczytu i zapisu pakietów>w celu uwierzytelnienia w kanale informacyjnym.

  2. Uruchom następujące polecenie, aby zalogować się do rejestru. Zastąp symbol zastępczy nazwą źródła danych i wklej osobisty token dostępu utworzony w poprzednim kroku po wyświetleniu monitu:

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

Zapisywanie pakietów z Crates.io

Uwaga

Aby zapisać pakiety z nadrzędnych strumieni, musisz mieć rolę Kanał informacyjny i Nadrzędny czytelnik (współpracownik) lub wyższy. Aby uzyskać więcej informacji, zobacz Zarządzanie uprawnieniami .

Po skonfigurowaniu projektu, skonfigurowaniu dostawcy poświadczeń i zalogowaniu się do naszego kanału informacyjnego możemy rozpocząć korzystanie z pakietów z nadrzędnego źródła danych. Usługa Azure Artifacts zapisuje kopię dowolnego pakietu instalowanego z nadrzędnego źródła danych.

W tym przykładzie serde używamy skrzyni, struktury serializacji/deserializacji:

  1. Uruchom następujące polecenie w katalogu projektu, aby dodać skrzynię do pliku cargo.toml:

    cargo add serde
    
  2. Uruchom następujące polecenie, aby skompilować projekt i użyć skrzyni:

    cargo build
    

Po zainstalowaniu pakietu kopia zostanie zapisana w kanale informacyjnym. Przejdź do kanału informacyjnego, aby zweryfikować jego obecność. Pakiet powinien być dostępny w kanale informacyjnym, jak pokazano poniżej:

Zrzut ekranu przedstawiający *serde* zużytą z góry.