azure - 什么是自动创建新的构建管道?
问题描述
对于一个给定的项目,我有四个构建管道,每个管道触发器都启用了 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 文件。内容与上述相符。这是否与设计师管道竞争?
解决方案
Yaml 管道在规模上更好,您可以在一个中心位置管理它们,您可以轻松地进行大规模编辑,并且\或者您可以让它们相互依赖以获得更多控制权。视觉设计器只有在你有几个管道或者你只是开始使用整个管道的时候才有用。
Yaml 管道不必位于 azure-pipelines.yml 文件中。我将它们存储在单独的存储库中:)
推荐阅读
- python - 使用 Python 在图像验证码中去除线条
- twitter - 在 Twitter 上验证用户身份
- firebase - error 错误:无法处理请求
- javascript - 如何在引导程序 4 中以编程方式更改选择选项?
- c# - 以某种方式缩放图像
- matlab - 在 Matlab 中对 3D 矩阵的特定维度求和
- php - 通过从下拉列表中选择字段名称来显示 mysql 表的字段数据
- django - 我在 django-allauth 和 github 上遇到了 redirect_uri_mismatch 错误
- graphql - 登录不应该是 GraphQL 中的查询吗?
- python - uWSGI 错误 hr_instance_read(): Connection reset by peer