【发布时间】: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