【问题标题】:Pull request trigger is running pipeline for all branches push拉取请求触发器正在为所有分支推送运行管道
【发布时间】:2020-07-04 01:16:10
【问题描述】:

我的开发分支受到保护,因此您必须向其拉取请求。当我创建新的拉取请求时,我尝试创建一个管道来构建和运行单元测试。

但是,当我从开发创建功能分支并推送功能分支的更改时,即使我尚未创建拉取请求,也会触发管道。特性分支有 yaml 文件,因为它是从开发中派生的。

Yaml 文件:

pr:
- develop

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'
    testSelector: testAssemblies
    testAssemblyVer2: |
     **\*unittests**.dll
     !**\*TestAdapter.dll
     !**\obj\**

只有在功能分支有拉取请求来开发时,我应该怎么做才能运行管道?

【问题讨论】:

  • 不指定CI触发分支时,适用于每个分支的每次推送。如果您只想使用 PR 触发器而不使用 CI 触发器,可以尝试在 YAML 文件中添加 trigger: none
  • 我还没来得及测试它,但确实,它很有用。
  • 您好穆里洛,感谢您的更新。请在有空时查看。如果您有问题,请随时分享。如果您已验证我的解决方案有效,感谢您将其标记为答案,这也将在未来帮助其他人。

标签: azure-devops azure-pipelines


【解决方案1】:

根据documentation:

YAML PR 触发器仅在 GitHub 和 Bitbucket Cloud 中受支持。如果 您正在使用 Azure Repos Git,您可以为 构建验证以触发您的验证管道。

【讨论】:

    【解决方案2】:

    YAML 管道默认配置为在所有分支上使用 CI 触发器。

    如果您的 PR 触发器不起作用,则 YAML 管道将由 CI 触发。

    您的 PR 触发器不起作用的原因有两种:

    • 首先,YAML PR 触发器仅在 GitHub 和 Bitbucket 中支持 云。
    • 在 YAML 管道中配置的 PR 和 CI 触发器可以是 在管道设置中被覆盖,默认情况下,新管道 自动覆盖 YAML PR 触发器

      请检查您的 YAML 触发器是否被覆盖,要配置此设置,请在编辑 YAML 管道时从设置菜单中选择 触发器

      选择持续集成触发器或拉取请求验证触发器,并通过在此处启用或禁用覆盖 YAML ... 触发器来配置所需的设置。

    希望这很清楚。

    【讨论】:

      【解决方案3】:

      添加

      trigger: none
      

      到你的 yml 文件。因为,如前所述,ADO 中的管道默认为所有提交在所有分支上运行。否则,你的东西是对的......添加trigger: none 将意味着你的管道只会在以 Develop 分支作为目标发出拉取请求时运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        • 1970-01-01
        • 2020-04-09
        相关资源
        最近更新 更多