将 Cargo 项目连接到 Azure Artifacts 源

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022

本文指导你设置 Cargo 项目、设置凭据提供程序以及连接到 Azure Artifacts 源。

先决条件

产品 要求
Azure DevOps - An Azure DevOps 组织
- Azure DevOps 项目
- 下载和安装 rustup。 需要 Cargo 版本 1.74.0 或更高版本。

项目设置

  1. 登录到 Azure DevOps 组织并导航到项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 选择 连接到数据源,然后从左侧导航面板中选择 Cargo

  4. 将所提供的代码片段添加到源存储库中的 cargo/config.tomlconfig.toml 文件应如下所示:

    • 项目作用域的源

      [registries]
      FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
      
    • 组织作用域的源

      [registries]
      FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/_packaging/FEED_NAME/Cargo/index/" }
      
  5. 将以下代码片段添加到 cargo/config.toml 中,用您的源替换 crates.io 源。 将此占位符替换为你的源名称:

    [source.crates-io]
    replace-with = "FEED_NAME"
    

配置凭据提供程序

若要将 Cargo 与 Azure Artifacts 配合使用,必须先设置默认凭据帮助程序。 有关更多详细信息,请参阅 货物簿

将以下代码片段添加到 %USERPROFILE%.cargo\config.toml。 这会为用户设置默认凭据帮助程序:

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

登录到注册表

  1. 登录到 Azure DevOps 组织并导航到项目。

  2. 使用打包>范围生成个人访问令牌,以向源进行身份验证。

  3. 运行以下命令以登录到注册表。 将占位符替换为你的源名称,并在收到提示时提供之前创建的个人访问令牌。

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

后续步骤