簡體   English   中英

如何使用多個構建驗證和路徑過濾器在 Azure Dev Ops 上創建 PR 觸發器?

[英]How do I create a PR trigger on Azure Dev Ops with multiple build validations and path filters?

這將在我完成 PR 后成功構建,但它不是作為 PR 驗證的一部分構建的。 此外,由於某種原因,當我從 dev 分支創建一個新版本時,它也不會在那里觸發構建(因此我在發布分支上構建的條件之一,它不會為我的發布管道創建工件) .

我對 Dev 和 Releases/* 分支上的分支策略的當前構建驗證

構建驗證

我的 API 的 Azure 管道:

trigger:
  branches:
    include:
    - Dev
    - Releases/*
  paths:
    include:
    - MCR.API/*

jobs:
- job: api
  variables:
    configuration: release
  pool:
    vmImage: 'vs2017-win2016'
  steps: 
  - task: DotNetCoreCLI@2
    displayName: Restore
    inputs:
      command: restore
      projects: '**/*API.csproj'

  - task: DotNetCoreCLI@2
    displayName: Build
    inputs:
      command: build
      projects: '**/*API.csproj'

  - task: DotNetCoreCLI@2
    displayName: Publish API
    inputs:
      command: publish
      publishWebProjects: false
      projects: '**/*API.csproj'
      arguments: '--output $(build.artifactstagingdirectory) --configuration $(configuration)'
      zipAfterPublish: True

  - task: PublishBuildArtifacts@1
    displayName: 'Publish API Artifact'
    condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/heads/Releases/'))
    inputs:
      PathtoPublish: '$(build.artifactstagingdirectory)'
      artifactName: 'API'

我希望這可以強制 PR 到 dev 和 Releases/* 在它可以完成之前成功構建(它沒有這樣做)。 我希望它在 PR 完成后構建(它正在這樣做)。 我希望它在 Releases/* 分支中的新版本創建時構建(它沒有這樣做)。

所以這個問題的答案很簡單......

在構建驗證策略中,確保您的目錄前面有一個前導斜線 - 即使您的 yaml 管道文件中不需要斜線。

到目前為止,我改變了這個例子:

MCR.API/*
MCR/*
MCR.Admin/*

到:

/MCR.API/*
/MCR/*
/MCR.Admin/*

一切都如我所願。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM