Перенос пакетов NuGet из MyGet в Azure Artifacts

Azure DevOps Services

С помощью модуля PowerShell AzureArtifactsPackageMigration можно легко перенести пакеты NuGet в Azure Artifacts. В этой статье описан пример переноса пакетов NuGet из MyGet в Azure Artifacts.

В этой статье вы узнаете, как:

  • Установите модуль PowerShell для AzureArtifactsPackageMigration .
  • Подключение к каналам Azure Artifacts.
  • Переход на Azure Artifacts.

Предпосылки

Установка модуля PowerShell

С помощью интерфейса командной строки выполните указанные команды для установки и импорта модуля PowerShell. Вы также можете скачать скрипты миграции непосредственно из репозитория GitHub azure-artifacts-migration .

  1. Откройте окно запроса PowerShell.

  2. Выполните следующие команды, чтобы установить AzureArtifactsPackageMigration модуль PowerShell и импортировать его в текущий сеанс.

    Install-Module -Name AzureArtifactsPackageMigration -Scope CurrentUser -Force
    Import-Module -Name AzureArtifactsPackageMigration
    

Настройка миграции

Чтобы перенести пакеты, необходимо получить URL-адреса источника для исходного веб-канала (MyGet) и целевого веб-канала (Azure Artifacts).

Артефакты Azure

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

  2. Выберите Артефакты, выберите ваш канал обновлений в раскрывающемся меню и выберите "Подключиться к каналу".

    Скриншот, показывающий, как подключиться к ленте.

  3. Выберите NuGet.exe и скопируйте исходный URL-адрес веб-канала.

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

    • Лента с областью охвата проекта:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
      
    • Веб-канал с областью действия организации:

      https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json
      

MyGet

  1. Войдите в учетную запись MyGet .

  2. Перейдите к веб-каналу, который вы хотите перенести.

  3. Выберите "Сведения о канале".

  4. Выберите пакеты и скопируйте URL-адрес веб-канала NuGet версии 3.

    https://www.myget.org/F/<FEED_NAME>/api/v3/index.json 
    

Перенос пакетов

Если ваш канал MyGet является частным, необходимо создать пароль для аутентификации. Если фид MyGet публичный, вы можете пропустить первый шаг.

  1. Выполните следующую команду, чтобы преобразовать пароль в безопасную строку.

    $password = ConvertTo-SecureString -String '<YOUR_PASSWORD>' -AsPlainText -Force
    
  2. Выполните следующую команду для миграции ваших пакетов в Azure Artifacts.

    • Миграция из частного веб-канала MyGet:

        Move-MyGetNuGetPackages -SourceIndexUrl '<MYGET_SOURCE_URL>' -DestinationIndexUrl '<ARTIFACTS_FEED_SOURCE_URL>' -DestinationPAT '<AZURE_DEVOPS_PAT>' -DestinationFeedName '<ARTIFACTS_FEED_NAME>' -SourceUsername '<MYGET_USERNAME>' -SourcePassword $password -Verbose
      
    • Миграция с публичной ленты MyGet:

        Move-MyGetNuGetPackages -SourceIndexUrl '<MYGET_SOURCE_URL>' -DestinationIndexUrl '<ARTIFACTS_FEED_SOURCE_URL>' -DestinationPAT '<AZURE_DEVOPS_PAT>' -DestinationFeedName '<ARTIFACTS_FEED_NAME>' -Verbose