共用方式為


將 NuGet 套件從 MyGet 遷移至 Azure Artifacts

Azure DevOps 服務

使用 AzureArtifactsPackageMigration PowerShell 模組,您可以輕鬆地將 NuGet 套件移轉至 Azure Artifacts。 本文將逐步引導您完成將 NuGet 套件從 MyGet 移轉至 Azure Artifacts 的範例。

在本文中,您將學會如何:

  • 安裝 AzureArtifactsPackageMigration PowerShell 模組。
  • 連接至 Azure Artifacts 存取來源。
  • 遷移至 Azure Artifacts。

先決條件

安裝 PowerShell 模組

使用命令行介面,執行提供的命令來安裝和匯入 PowerShell 模組。 您也可以直接從 azure-artifacts-migration GitHub 存放庫下載移轉腳本。

  1. 開啟 PowerShell 提示字元視窗。

  2. 執行下列命令來安裝 AzureArtifactsPackageMigration PowerShell 模組,並將它匯入目前的工作階段。

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

移轉設定

若要移轉套件,您必須取得來源摘要 (MyGet) 和目的地摘要的來源 URL (Azure Artifacts)。

Azure Artifacts

  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. 選取 套件,然後複製 您的 NuGet V3 資料來源URL

    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