Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Использование внешних источников в Azure Artifacts позволяет управлять всеми зависимостями приложения из одного хранилища. Он упрощает использование пакетов из общедоступных реестров, таких как NuGet.org или npmjs.com, а также обеспечивает защиту от сбоев или скомпрометированных пакетов. Вы также можете публиковать собственные пакеты в тот же источник и управлять всеми зависимостями в одном месте.
В этом руководстве описывается, как активировать вышестоящие источники в вашем фиде и использовать пакеты из публичных репозиториев, таких как NuGet.org или npmjs.com.
Предпосылки
Создайте канал и включите источники данных
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите Артефакты, затем выберите Создать канал, чтобы создать новый канал.
Укажите имя веб-канала, выберите его видимость и область и убедитесь, что установлен флажок "Включить пакеты из общих общедоступных источников ", чтобы включить вышестоящий источник.
После завершения работы выберите Создать.
Это важно
Чтобы добавить веб-канал из другой организации в качестве вышестоящего источника, владелец целевого веб-канала должен предоставить общий доступ к целевому представлению для всех веб-каналов и людей в организациях, ассоциированных с моим клиентом Microsoft Entra. Необходимо перейти к Параметры>представлений, нажать кнопку с многоточием справа от указанного представления и выбрать >.
Аутентификация с помощью ленты
Теперь, когда вы создали веб-канал, выберите соответствующую вкладку на основе технологии, которую вы используете, и следуйте инструкциям по настройке файла конфигурации и подключению к веб-каналу:
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите npm в области навигации слева и следуйте приведенным инструкциям в разделе установки проекта , чтобы настроить файл конфигурации. Если у вас еще нет NPMRC-файла, создайте новую в корне проекта (ту же папку, что и package.json). Откройте новый NPMRC-файл и вставьте указанный фрагмент кода.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите NuGet.exe в области навигации слева, а затем скопируйте XML-фрагмент, предоставленный в разделе "Настройка проекта ".
Создайте файл nuget.config в корне проекта и вставьте в xml-фрагмент, скопированный на предыдущем шаге.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите pip в области навигации слева.
Создайте виртуальную среду , если это еще не сделано.
Добавьте файл pip.ini (Windows) или pip.conf (Mac/Linux) в virtualenv и вставьте фрагмент кода, указанный в разделе Установка проекта.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите Maven в области навигации слева.
Добавьте фрагмент кода, указанный в разделе настройка проекта, в разделы <repositories> и <distributionManagement> в pom.xml. Файл должен выглядеть следующим образом:
<repository>
<id>[FEED-NAME]</id>
<url>https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
Вставьте предоставленный <server> фрагмент кода в файл settings.xml . Файл должен выглядеть примерно так:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Создайте личный маркер доступа с упаковкой и >, и вставьте личный маркер доступа в тег в вашем файле <password>.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите Gradle в области навигации слева.
Добавьте фрагмент кода, указанный в разделе настройка проекта, в разделы репозитории и публикации файла build.gradle. Файл должен выглядеть следующим образом:
maven {
url 'https://pkgs.dev.azure.com/[ORGANIZATION-NAME]/_packaging/[FEED-NAME]/maven/v1'
name '[FEED-NAME]'
authentication {
basic(BasicAuthentication)
}
}
Вставьте предоставленный <server> фрагмент кода в файл settings.xml . Файл должен выглядеть следующим образом:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>[FEED-NAME]</id>
<username>[ORGANIZATION-NAME]</username>
<password>[PERSONAL_ACCESS_TOKEN]</password>
</server>
</servers>
</settings>
Создайте персональный токен доступа с областями Упаковка>Чтение и запись. Вставьте личный токен доступа в тег <password> в файле settings.xml.
Войдите в организацию Azure DevOps и перейдите к проекту.
Выберите артефактов, выберите свой веб-канал в раскрывающемся меню, а затем выберите Подключиться к каналу.
Выберите Cargo в области навигации слева.
Добавьте фрагмент кода, указанный в разделе установки Project , в файл cargo/config.toml в исходном репозитории. Ваш файл config.toml должен выглядеть следующим образом:
[registries]
FEED_NAME = { index = "sparse+https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/Cargo/index/" }
```
Добавьте второй фрагмент, указанный в разделе настройка проекта, в файл cargo/config.toml, чтобы заменить источник crates.io вашим веб-каналом. Файл должен выглядеть следующим образом:
[source.crates-io]
replace-with = "FEED_NAME"
Настройка поставщика учетных данных
Вход в реестр
Восстановление пакетов
Теперь, когда вы включили исходящие источники и прошли проверку подлинности с помощью веб-канала, выберите соответствующую вкладку на основе типа пакета и следуйте инструкциям по восстановлению пакетов из общедоступных реестров в веб-канале Артефактов Azure.
Удалите папку node_modules из проекта.
Откройте окно командной строки и выполните следующую команду, чтобы восстановить пакеты. После завершения ваш поток должен иметь сохраненную копию любых пакетов, установленных из исходного источника.
npm install --force
Примечание.
Флаг --force гарантирует, что пакеты извлекаются из удаленного источника, даже если локальная копия существует.
Снимите локальный кэш.
nuget locals -clear all
Откройте окно командной строки и выполните следующую команду, чтобы восстановить пакеты. После завершения ваш поток должен иметь сохраненную копию любых пакетов, установленных из исходного источника.
nuget.exe restore
Удалите папку node_modules из проекта.
Откройте окно командной строки и выполните следующую команду, чтобы восстановить пакеты. После завершения ваш поток должен иметь сохраненную копию любых пакетов, установленных из исходного источника.
npm install --force
Примечание.
Флаг --force гарантирует, что пакеты извлекаются из удаленного источника, даже если локальная копия существует.
Снимите локальный кэш.
nuget locals -clear all
Откройте окно командной строки и выполните следующую команду, чтобы восстановить пакеты. После завершения ваш поток должен иметь сохраненную копию любых пакетов, установленных из исходного источника.
nuget.exe restore
Связанный контент