Azure DevOps Repos Gitでazure-pipelines.yml(Pipeline設定ファイル)とモジュールをそれぞれ別のブランチで管理したいと思っています。
ymlファイルとPull Requestのターゲットのブランチが別になっていてもPull RequestでPipelineがキックされるように設定する方法を教えていただけないでしょうか?
以後、azure-pipelines.ymlがあるブランチを「pipe_configure」、モジュールを含むブランチを「develop」とします。
pipe_configureはdevelopから派生しています。
developにはymlファイルは含まれません。
developにはBuild Validationが設定されています。
developに対してPull Requestが出された時にPipelineをキックするようにしたいのですが、Pull Requestを作成すると「1 required check not yet run DevOpsProject Build not run」と表示されてPipelineがキックされません。
※「DevOpsProject」はプロジェクト名です。
ちなみにdevelopにazure-pipelines.ymlがコミットされている場合はPipelineがキックされました。
以下、ブランチ「pipe_configure」にあるazure-pipelines.ymlの内容です。
YAML
1# .NET Desktop 2# Build and run tests for .NET Desktop or Windows classic desktop solutions. 3# Add steps that publish symbols, save build artifacts, and more: 4# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net 5trigger: 6- develop 7 8pr: 9 - develop 10 11pool: 12 vmImage: 'windows-latest' 13 14variables: 15 solution: '**/*.sln' 16 buildPlatform: 'Any CPU' 17 buildConfiguration: 'Release' 18 19resources: 20 repositories: 21 - repository: develop_Branch 22 type: git 23 name: DevOpsProject 24 ref: develop 25 26steps: 27- checkout: develop_Branch 28 persistCredentials: true 29 clean: true 30 31- task: NuGetToolInstaller@1 32 33- task: NuGetCommand@2 34 inputs: 35 restoreSolution: '$(solution)' 36 37- task: VSBuild@1 38 inputs: 39 solution: '$(solution)' 40 platform: '$(buildPlatform)' 41 configuration: '$(buildConfiguration)' 42 43- task: VSTest@2 44 inputs: 45 platform: '$(buildPlatform)' 46 configuration: '$(buildConfiguration)'
ブランチ「develop」のBuild Validationの設定
プロパティ | 値 |
---|---|
Enabled | ON |
Build Pipeline | DevOpsProject |
Trigger | Automatic |
Policy requirement | Required |
Build expiration | After 12hours if develop has updated |
試したこと
- Build ValidationのBuild expirationを「Immediately」、「Never」に設定する
- Setup Buildを実行
1.ReposのFilesの画面でブランチに「develop」を選択
2.「Setup Build」をクリック
3.Configureで「Existing Azure Pipelines YAML file」を選択
4.ブランチ「pipe_configure」のazure-pipelines.ymlを指定
5.RunをクリックしてPipeline実行
※Pipelineは成功するがPull Requestの状況は変わらない
あなたの回答
tips
プレビュー