Partager via


Utiliser des packages à partir de Crates.io

Azure DevOps Services

Azure Artifacts amont sources permet aux développeurs de consommer des packages à partir de registres publics tels que Crates.io et nuget.org. Cet article vous guide tout au long de la configuration de votre projet et de l’utilisation de la ligne de commande pour consommer des Crates à partir de Crates.io.

Cet article vous guidera tout au long des étapes suivantes :

  • Créer un flux Azure Artifacts
  • Connecter à votre flux
  • Consommer des caisses à partir de amont

Prérequis

Créer un flux

Azure Artifacts recommande d’avoir un flux dédié pour consommer des crates à partir de crates.io et un flux distinct exclusivement pour la publication de crates internes.

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Artifacts, puis sélectionnez Créer un flux.

  3. Entrez un nom pour votre flux, définissez sa visibilité, puis sélectionnez votre étendue. Veillez à case activée les sources en amont case activée box pour inclure des packages à partir de registres publics.

  4. Sélectionnez Créer lorsque vous avez terminé.

    Capture d’écran montrant comment créer un flux pour les amont de fret.

Connecter à votre flux

  1. Connectez-vous à votre organisation Azure DevOps puis accédez à votre projet.

  2. Sélectionnez Artefacts, puis sélectionnez votre flux dans le menu déroulant.

  3. Sélectionnez Connecter à alimenter, puis sélectionnez Cargo dans le volet de navigation gauche.

  4. S’il s’agit de la première utilisation de Cargo avec Azure Artifacts, vérifiez que vous avez installé rustup.

  5. Ajoutez l’extrait de code fourni dans la section Installation de Project à votre fichier .cargo/config.toml dans votre dépôt source :

    • Flux à l'échelle du projet :
    [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>"
    
    • Flux à l'échelle de l'organisation :
    [registries]
    <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" }
    
    [source.crates-io]
    replace-with = "<FEED_NAME>"
    

Configurer un fournisseur d’informations d’identification

Pour utiliser Cargo avec Azure Artifacts, vous devez configurer un fournisseur d’informations d’identification. Les paramètres fournis configurent un helper d’informations d’identification par défaut pour l’utilisateur actuel :

Collez l’extrait de code suivant dans votre %USERPROFILE%.cargo\config.toml :

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

Connectez-vous à votre registre

  1. Créez un jeton d’accès personnel avec des portées de Mise en package>Lecture et écriture pour vous authentifier auprès de votre flux.

  2. Exécutez la commande suivante pour vous connecter à votre registre. Remplacez l’espace réservé par le nom de votre flux et collez le jeton d’accès personnel que vous avez créé à l’étape précédente lorsque vous y êtes invité :

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

Enregistrer des packages à partir de Crates.io

Remarque

Pour enregistrer des packages à partir de amont s, vous devez disposer du rôle Flux et Lecteur en amont (Collaborateur) ou supérieur. Pour plus d’informations, consultez Autorisations.

Maintenant que nous avons configuré notre projet, configuré un fournisseur d’informations d’identification et connecté à notre flux, nous pouvons commencer à consommer des packages à partir de amont. Azure Artifacts enregistre une copie de tout package que vous installez à partir de amont vers votre flux.

Dans cet exemple, nous consommons la serde caisse, une infrastructure de sérialisation/désérialisation :

  1. Exécutez la commande suivante dans votre répertoire de projet pour ajouter la caisse à votre cargo.toml :

    cargo add serde
    
  2. Exécutez la commande suivante pour générer votre projet et consommer votre caisse :

    cargo build
    

Une fois votre package installé, une copie est enregistrée dans votre flux. Accédez à votre flux pour vérifier sa présence. Votre package doit être disponible dans votre flux, comme indiqué ci-dessous :

Capture d’écran montrant la caisse *serde* consommée à partir de amont.