首页 > 解决方案 > 什么是自动创建新的构建管道?

问题描述

对于一个给定的项目,我有四个构建管道,每个管道触发器都启用了 CI,每个管道都有一个用于单个分支的分支过滤器 - 主分支、暂存、QA、开发。这些工作成功,对这四个分支之一的任何完成的拉取请求都成功地启动了构建过程。

今天早上,我创建了一个基于“开发”分支的新分支。IT 是单行更改,因此我决定使用 DevOps 编辑器在浏览器中进行在线更改。我保存了更改。

在线保存更改后,我立即看到创建了一个新的构建管道(我收到一封电子邮件,说我的构建失败)。是什么导致创建新的构建管道?

新的构建管道看起来是自动创建的,它是纯 YAML:

pool:
  vmImage: 'Ubuntu 16.04'

variables:
  buildConfiguration: 'Release'
  BuildPlatform: 'Any CPU'
  Parameters.solution: = '*.sln'
  Parameters.ArtifactName: = 'xxxxxx'

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: VSBuild@1
  displayName: 'Build solution'
  inputs:
    solution: '$(Parameters.solution)'
    platform: '$(BuildPlatform)'
    configuration: '$(BuildConfiguration)'

- task: PublishSymbols@2
  displayName: 'Publish symbols path'
  inputs:
    SearchPattern: '**\bin\**\*.pdb'
    PublishSymbols: false
  continueOnError: true

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
    ArtifactName: '$(Parameters.ArtifactName)'

在项目中,没有创建拉取请求,并且我的私有分支,我可以看到我的更改。

我收到的电子邮件的标题中包含以下内容(实际名称已删除):

[构建失败] MyProjectName CI - MyProjectName:MyBranchName - MyProejctName - bf9524f9

========

编辑

我刚刚发现分支的根文件夹中有一个 azure-pipelines.yml 文件。内容与上述相符。这是否与设计师管道竞争?

标签: azureazure-devopsazure-pipelines

解决方案


Yaml 管道在规模上更好,您可以在一个中心位置管理它们,您可以轻松地进行大规模编辑,并且\或者您可以让它们相互依赖以获得更多控制权。视觉设计器只有在你有几个管道或者你只是开始使用整个管道的时候才有用。

Yaml 管道不必位于 azure-pipelines.yml 文件中。我将它们存储在单独的存储库中:)


推荐阅读