1

一直在评估该工具,并且效果很好

只有一个问题 - 管道迁移是否使用 azure devops on prem 并且在我们看来我不知道如何配置它们

报告

[17:51:53 ERR] 未处理的异常!System.InvalidOperationException:在 D:\a\1\s\src\MigrationTools\Endpoints\EndpointFactory.cs:line 49 中的 MigrationTools.Endpoints.EndpointFactory.CreateEndpoint(String name) 中没有名称或同名的端点在 D:\a\1\s\src\MigrationTools\Processors\Processor.cs: MigrationTools.Processors.AzureDevOpsPipelineProcessor.Configure(IProcessorOptions options) 中的第 50 行 D:\ a\1\s\src\MigrationTools.Clients.AzureDevops.Rest\Processors\AzureDevOpsPipelineProcessor.cs: MigrationTools._EngineV1.Containers.ProcessorContainer.Configure() 中的第 37 行在 D:\a\1\s\src\MigrationTools_EngineV1\ Containers\ProcessorContainer.cs:第 61 行,位于 D:\a\1\s\src\MigrationTools\MigrationEngine.cs 中的 MigrationTools.MigrationEngine.Run():

{
"$type": "AzureDevOpsPipelineProcessorOptions",
"Enabled": true,
"MigrateBuildPipelines": true,
"MigrateReleasePipelines": true,
"MigrateTaskGroups": true,
"MigrateVariableGroups": true,
"MigrateServiceConnections": false,
"BuildPipelines": null,
"ReleasePipelines": null,
"RefName": null,
"SourceName": "xxxxxxxxxxx",
"TargetName": "xxxxxxxxxxx"
}
4

1 回答 1

0

您必须创建两个“端点”,以便管道处理器知道要使用哪些。如果您在此处查看源代码,则参数中没有任何内容:

MigrationTools.Endpoints.EndpointFactory.CreateEndpoint(字符串名称) https://github.com/nkdAgility/azure-devops-migration-tools/blob/master/src/MigrationTools/Endpoints/EndpointFactory.cs

我对团队设置处理器有同样的问题。这个链接真的帮助我创建了端点https://github.com/nkdAgility/azure-devops-migration-tools/pull/860/files

在下面的团队设置处理器选项示例中,您的 SourceName 将是 TfsTeamSettingsSource,而您的 TargetName 将是 TfsTeamSettingsTarget。我必须阅读源代码才能弄清楚,AccessToken 的“身份验证模式”为 0;它不会采用字符串“AccessToken”:|。

有关团队设置处理器选项,请参见下面的示例:

**Endpoints**": {
  "TfsTeamSettingsEndpoints": [
    {
      "Name": "**TeamSettingsSource**",
      "AccessToken": "",
      "Query": {
        "Query": "SELECT [System.Id], [System.Tags] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan') ORDER BY [System.ChangedDate] desc"
      },
      "Organisation": "https://dev.azure.com/like10-demos/",
      "Project": "SourceProject",
      "ReflectedWorkItemIdField": "ReflectedWorkItemId",
      "AuthenticationMode": "Prompt",
      "AllowCrossProjectLinking": false,
      "LanguageMaps": {
        "AreaPath": "Area",
        "IterationPath": "Iteration"
      }
    },
    {
      "Name": "**TeamSettingsTarget**",
      "AccessToken": "",
      "Query": {
        "Query": "SELECT [System.Id], [System.Tags] FROM WorkItems WHERE [System.TeamProject] = @TeamProject AND [System.WorkItemType] NOT IN ('Test Suite', 'Test Plan') ORDER BY [System.ChangedDate] desc"
      },
      "Organisation": "https://dev.azure.com/like10-demos/",
      "Project": "TargetProject",
      "ReflectedWorkItemIdField": "ReflectedWorkItemId",
      "AuthenticationMode": "Prompt",
      "AllowCrossProjectLinking": false,
      "LanguageMaps": {
        "AreaPath": "Area",
        "IterationPath": "Iteration"
      }
    }
  ]      
},
于 2021-07-29T14:21:24.953 回答