Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Источники вышестоящих источников артефактов Azure позволяют разработчикам использовать пакеты из общедоступных реестров, таких как Crates.io и nuget.org. В этой статье описано, как настроить проект и использовать командную строку для использования crates из Crates.io.
Необходимые компоненты
| Продукт | Требования |
|---|---|
| Azure DevOps | — Организация Azure DevOps. — проект Azure DevOps . — Скачайте и установите rustup. Вам потребуется Cargo версии 1.74.0 или более поздней. |
Создание веб-канала
Azure Artifacts рекомендует использовать выделенный веб-канал для использования контейнеров из crates.io и отдельного канала исключительно для публикации внутренних ящиков. Если у вас уже есть веб-канал Артефактов Azure, перейдите к следующему разделу. В противном случае создайте новый, как показано ниже.
Войдите в организацию Azure DevOps, а затем перейдите к проекту.
Выберите артефакты и нажмите кнопку "Создать веб-канал".
Укажите имя веб-канала, выберите видимость , чтобы определить, кто может просматривать пакеты и выбрать область веб-канала. Установите флажок «Включить пакеты из общих общедоступных источников», чтобы включить вышестоящие источники на вашем веб-канале.
После завершения работы выберите Создать.
Подключение к веб-каналу
Теперь, когда у вас есть веб-канал, необходимо настроить файл config.toml , настроить поставщика учетных данных, а затем войти в реестр для проверки подлинности с помощью веб-канала.
Настройка проекта
Войдите в организацию Azure DevOps, а затем перейдите к проекту.
Выберите Артефакты, а затем выберите ваш веб-канал в раскрывающемся меню.
Выберите "Подключиться к каналу", а затем выберите Cargo в области навигации слева.
Скопируйте фрагмент из раздела установки Project и вставьте его в файл .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 DevOps, а затем перейдите к проекту.
Выберите Артефакты, а затем выберите ваш веб-канал в раскрывающемся меню.
Выберите "Подключиться к каналу", а затем выберите Cargo в области навигации слева.
Скопируйте фрагмент из раздела установки Project и вставьте его в файл .cargo/config.toml в исходном репозитории. Он должен выглядеть примерно так:
Веб-канал с областью действия проекта:
[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>"Веб-канал с областью действия коллекции:
[registries] <FEED_NAME> = { index = "sparse+https://pkgs.dev.azure.com/<COLLECTION_NAME>/_packaging/<FEED_NAME>/Cargo/index/" } [source.crates-io] replace-with = "<FEED_NAME>"
Настройка поставщика учетных данных
Чтобы использовать Cargo с артефактами Azure, необходимо настроить поставщика учетных данных. Следующие параметры задают вспомогательный компонент учетных данных по умолчанию для пользователя:
Вставьте следующий фрагмент кода в %USERPROFILE%.cargo\config.toml:
[registry]
global-credential-providers = ["cargo:token", "cargo:wincred"]
Вход в реестр
Создайте личный маркер доступа с областями чтения и записи для>проверки подлинности в веб-канале.
Выполните следующую команду, чтобы войти в реестр. Замените <FEED_NAME> именем веб-канала и при повышении вставьте созданный ранее личный маркер доступа.
"Basic " + [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("PAT:" + (Read-Host -MaskInput "Enter PAT"))) | cargo login --registry <FEED_NAME>
Сохранение пакетов из Crates.io
Теперь, когда проект настроен, поставщик данных для аутентификации сконфигурирован, и вы прошли аутентификацию для вашего канала, вы можете начать использовать пакеты из внешних источников. Azure Artifacts автоматически сохраняет копию любого пакета, устанавливаемого из входящего источника в вашу ленту.
В следующем примере показано, как использовать crate reqwest, библиотеку HTTP-клиент, используемую для осуществления HTTP-запросов.
Добавьте к файлу Cargo.toml запись, выполнив следующую команду в каталоге проекта:
cargo add reqwestВыполните следующую команду, чтобы создать проект и использовать ваш ящик:
cargo build
После установки пакета копия будет сохранена в канале обновлений. Это можно проверить, перейдя к фиду в Azure DevOps. Пакет должен быть доступен в вашем ленте, как показано ниже:
Примечание.
Чтобы сохранить пакеты из вышестоящих версий, необходимо иметь роль "Канал" и "Средство чтения выше" ("Совместная работа") или более поздней версии. Дополнительные сведения см. в разделе " Роли и разрешения канала ".