Share via


Подключение проекта npm в Azure Artifacts

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Артефакты Azure позволяют разработчикам управлять своими пакетами из различных источников, включая общедоступные реестры, такие как npmjs.com и частные веб-каналы. Чтобы выполнить проверку подлинности с помощью артефактов Azure, необходимо настроить файл конфигурации npm. Этот файл содержит URL-адреса и учетные данные веб-канала, используемые npm, предлагая параметры настройки поведения клиента npm, такие как настройка прокси-серверов, определение расположений пакетов по умолчанию или настройка частных веб-каналов пакетов. NPMRC-файл обычно находится в домашнем каталоге пользователя, но также может быть создан на уровне проекта для переопределения параметров по умолчанию.

Необходимые компоненты

Подключиться к веб-каналу

Azure Artifacts рекомендует использовать два отдельных файла конфигурации. Первый предназначен для проверки подлинности с помощью артефактов Azure, а второй должен храниться локально для хранения учетных данных. Этот подход позволяет предоставить общий доступ к файлу конфигурации при сохранении безопасности учетных данных.

Чтобы настроить второй файл, просто поместите его в домашний каталог на компьютере разработки и включите все учетные данные реестра. Это позволяет клиенту npm легко получить доступ к учетным данным для проверки подлинности.

Ниже приведены инструкции по настройке первого файла конфигурации:

Примечание.

vsts-npm-auth не поддерживается в Azure DevOps Server.

  1. Войдите в организацию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите Подключение в канал.

    Снимок экрана: подключение к веб-каналу в Azure DevOps Services.

  3. Выберите npm на левой боковой панели. Если это первый раз с помощью Azure Artifacts с npm, убедитесь, что установлены необходимые компоненты.

  4. Следуйте инструкциям в разделе "Настройка проекта", чтобы подключиться к веб-каналу.

    Снимок экрана: настройка проекта npm.

  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите Подключение в канал.

    Снимок экрана: подключение к веб-каналу в Azure DevOps Server 2022.1.

  3. Выберите npm на левой боковой панели и следуйте инструкциям в разделе "Настройка проекта", чтобы настроить файл конфигурации.

    Снимок экрана: настройка проекта npm в Azure DevOps Server 2022.1.

  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите Подключение для канала.

    Снимок экрана: подключение к веб-каналу в Azure DevOps Server 2020.1.

  3. Выберите npm слева и следуйте инструкциям в разделе "Настройка проекта", чтобы настроить файл конфигурации.

    Снимок экрана: настройка проекта npm в Azure DevOps Server 2020.1.

  1. Войдите в коллекцию Azure DevOps и перейдите к проекту.

  2. Выберите артефакты и выберите Подключение для канала.

    Снимок экрана: подключение к веб-каналу в Azure DevOps Server 2019.1.

  3. Откроется новое окно. В области навигации слева выберите npm.

  4. Следуйте приведенным инструкциям по настройке проекта и npmrc-файлов .

    Снимок экрана: настройка файлов npmrc уровня проекта и уровня пользователя в Azure DevOps Server 2019.1.

Совет

Использование нескольких реестров в NPMRC-файлах поддерживается с область и источниками вышестоящий.

Проверка подлинности конвейера

Для проверки подлинности с помощью конвейера Azure Artifacts рекомендуется использовать задачу проверки подлинности npm.

При использовании средств выполнения задач, таких как gulp или Grunt, необходимо задать задачу проверки подлинности npm в начале конвейера. Этот шаг гарантирует, что учетные данные вставляются в NPMRC-файл проекта и сохраняются во время выполнения конвейера, что позволяет последующим шагам получить доступ к учетным данным в файле конфигурации.

  1. Перейдите к проекту, выберите "Конвейеры" и выберите определение конвейера.

  2. Нажмите кнопку "Изменить", чтобы изменить конвейер.

  3. Выберите + , чтобы добавить новую задачу в конвейер.

    Снимок экрана: добавление задачи проверки подлинности npm в конвейер.

  1. Перейдите к проекту, выберите "Сборки конвейеров>" и выберите определение сборки.

  2. Выберите "Изменить", чтобы изменить конвейер сборки.

  3. Выберите + , чтобы добавить новую задачу в конвейер сборки.

    Снимок экрана: добавление задачи проверки подлинности npm в конвейер.

  1. Найдите задачу проверки подлинности npm и нажмите кнопку "Добавить".

    Снимок экрана: задача проверки подлинности npm, добавленная в конвейер.

  2. Выберите NPMRC-файл, а затем нажмите кнопку "Сохранить и очередь" после завершения.

    Снимок экрана: добавление файла *.npmrc*

Примечание.

Чтобы получить доступ к веб-каналу из конвейера, убедитесь, что роль службы сборки имеет значение Feed And Upstream Reader (Участник) в параметрах> веб-канала.

Снимок экрана: роли службы сборки в параметрах веб-канала.

Примечание.

Если ваша организация использует брандмауэр или прокси-сервер, убедитесь, что вы разрешаете соответствующие URL-адреса домена. Дополнительные сведения см. в разделе "Разрешенные IP-адреса" и URL-адреса домена.

Устранение неполадок

vsts-npm-auth не распознается

Эта ошибка означает, что папка модулей npm не добавлена в путь. Повторно запустите программу установки Node.js и выберите Add to PATH этот параметр. Кроме того, можно добавить папку модулей npm в путь, изменив переменную PATH в %APPDATA%\npm командной строке или $env:APPDATA\npm в PowerShell.

Снимок экрана: настройка node.js.

Не удается пройти проверку подлинности

  • Ошибка: код E401 npm ERR! Не удается выполнить проверку подлинности: выполните команду с флагом vsts-npm-auth -F для повторной проверки подлинности:>

    vsts-npm-auth -config .npmrc -F
    

Сброс vsts-npm-auth

Выполните следующие действия, чтобы сбросить учетные данные vsts-npm-auth:

  1. Удалите vsts-npm-auth:

    npm uninstall -g vsts-npm-auth
    
  2. Снимите кэш npm:

    npm cache clean --force
    
  3. Удалите NPMRC-файл.

  4. Переустановите vsts-npm-auth:

    npm install -g vsts-npm-auth --registry https://registry.npmjs.com --always-auth false