Azure DevOps 管道触发器问题消息不会消失

And*_*rew 13 yaml azure-devops azure-devops-pipelines

我们的团队正在实施 Azure DevOps 测试管道。在我们最初提交创建管道 .yml 文件后,显示了此错误消息。经过研究后,我意识到我忘记将触发器包含在 .yml 中。但是添加后,这个错误消息并没有消失。不过,管道正在按预期工作,我们只是使用手动触发器,如下所示。唯一列出的问题来自我们最初的提交。有没有一种方法可以让我承认这个错误并让它消失,或者我是否可能错过了一个我还没有注意到的不同错误?感谢您提前提供任何帮助,如果我可以提供任何其他信息,请告诉我。

以下是我在查看该管道的运行时看到的错误消息。我还附上了我如何设置触发器的屏幕截图。 在此输入图像描述

在此输入图像描述

编辑:根据要求,我在下面包含了实际的 .yml 文件代码,并进行了轻微的命名修改。我们确实有一些自定义插件,例如为未跟踪但仍需要创建的文件创建文件。因此,您可能需要删除它们来测试这一点。

trigger:
- none

pool:
  name: myPool
  demands:
  - msbuild
  - visualstudio

steps:

- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.4.1'
  inputs:
    versionSpec: 4.4.1

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'

- task: eliostruyf.build-task.custom-build-task.file-creator@6
  displayName: 'Create Connection Strings file'
  inputs:
    filepath: '$(System.DefaultWorkingDirectory)/ID_Web/config/ConnectionStrings.config'
    filecontent: |
     <connectionStrings>
     
     </connectionStrings>
     
    endWithNewLine: true

- task: eliostruyf.build-task.custom-build-task.file-creator@6
  displayName: 'Create Developer Settings File'
  inputs:
    filepath: '$(System.DefaultWorkingDirectory)/ID_Web/config/developerAppSettings.config'
    filecontent: |
     <appSettings>

     </appSettings>
    endWithNewLine: true


- task: eliostruyf.build-task.custom-build-task.file-creator@6
  condition: contains(variables['Agent.Name'], '1')
  displayName: 'Create Developer Integration Setting for agent 1'
  inputs:
    filepath: '$(System.DefaultWorkingDirectory)/ID_Test/config/developerIntegrationSettings.config'
    filecontent: |
     <developerIntegrationSettings>
        <add key="ModelsIntegrationTestDb" value="Models_IntegrationTest_BuildAgent1"/>
        <add key="ErrorsIntegrationTestDb" value="Errors_IntegrationTest_BuildAgent1"/>
     </developerIntegrationSettings>
     
    endWithNewLine: true


- task: VisualStudioTestPlatformInstaller@1
  displayName: 'Visual Studio Test Platform Installer'
  inputs:
    versionSelector: latestStable

# Build the solution.
- task: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '$(Parameters.solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    clean: true

# Run all unit tests in parallel
- task: VSTest@2
  displayName: 'Run Unit Tests'
  inputs:
    testAssemblyVer2: |
     **\*ID_Test*.dll
     !**\*TestAdapter.dll
     !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)/ID_Test'
    testFiltercriteria: '(FullyQualifiedName!~Integration & FullyQualifiedName!~Ioc)'
    runOnlyImpactedTests: false
    vsTestVersion: toolsInstaller
    runSettingsFile: 'ID_Test/.runsettings'
    runInParallel: true
    runTestsInIsolation: false
    codeCoverageEnabled: false
    testRunTitle: 'Unit Tests'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    diagnosticsEnabled: true
    rerunFailedTests: true

# Run integration tests serially
- task: VSTest@2
  displayName: 'Run Integration Tests'
  inputs:
    testAssemblyVer2: |
     **\*ID_Test*.dll
     !**\*TestAdapter.dll
     !**\obj\**
    searchFolder: '$(System.DefaultWorkingDirectory)/ID_Test'
    testFiltercriteria: '(FullyQualifiedName~Integration | FullyQualifiedName~Ioc)'
    runOnlyImpactedTests: false
    vsTestVersion: toolsInstaller
    runSettingsFile: 'ID_Test/.runsettings'
    runTestsInIsolation: true
    codeCoverageEnabled: false
    testRunTitle: 'Integration Tests'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'
    diagnosticsEnabled: true
    rerunFailedTests: true

# Clean agent directories
- task: mspremier.PostBuildCleanup.PostBuildCleanup-task.PostBuildCleanup@3
  displayName: 'Clean Agent Directories'
Run Code Online (Sandbox Code Playgroud)

编辑(2):下面是我现在用于触发设置的屏幕截图,最初它是未选中的。不过检查了一下好像没有什么影响。 在此输入图像描述

Chr*_*e P 33

我也有同样的情况,当我发现真正的问题时,我正要蜷缩成一团哭泣。正如精彩消息所说,它与触发器完全无关:)

我假设您在将 YAML 文件合并到 master 之前使用 YAML 文件创建了一个新分支用于测试目的。因此,您需要将构建设置为指向此分支,因为该文件在您的主分支上不存在。步骤如下:

  • 编辑您的管道
  • 单击右上角的 3 个点 > 触发器
  • 单击 YAML 选项卡 > 获取源
  • 将“手动和计划构建的默认分支”更改为指向 .yml 文件所在的分支

在此输入图像描述

  • 遇到了完全相同的问题,除了由于某种原因“手动和计划构建的默认分支”已经设置在“main”上。我只需将下拉菜单更改为不同的分支,将其设置回“主”,然后保存即可使错误消失。 (3认同)

And*_*rew 5

所以我们放弃了这个问题,因为它没有任何效果,而且我们找不到问题所在。大约一两周后,它就不再出现了。所以我认为这只是 Azure DevOps 的一些怪癖,而不是管道本身的问题。