Git Azure Devops连续运行两个构建
我们有Azure Devops设置。现在我们的项目将建造两次 一次是在YAML文件中的拉入请求签入期间,另一次是由于生成设置(下图) 这会触发两个构建,并导致构建时间加倍。我们的Devops团队提到这是常规做法。为什么Azure Devops不触发一个构建,或者使用两个构建更安全Git Azure Devops连续运行两个构建,git,azure-devops,azure-pipelines,azure-git-deployment,Git,Azure Devops,Azure Pipelines,Azure Git Deployment,我们有Azure Devops设置。现在我们的项目将建造两次 一次是在YAML文件中的拉入请求签入期间,另一次是由于生成设置(下图) 这会触发两个构建,并导致构建时间加倍。我们的Devops团队提到这是常规做法。为什么Azure Devops不触发一个构建,或者使用两个构建更安全 从功能上讲,这两个版本可能并不总是相同的 假设你有下面的例子。大写字母表示提交,小写字母表示潜在提交 e e' / \ | | D C | B \ | / A 这显示了来自提交的两个
从功能上讲,这两个版本可能并不总是相同的 假设你有下面的例子。大写字母表示提交,小写字母表示潜在提交
e e'
/ \
| | D
C | B
\ | /
A
这显示了来自提交的两个分支(主分支)。每个功能分支都为每个功能分支创建了一个PR。一个分支的构建基于e提交,另一个分支的构建基于e提交。Azure devops无法确定将首先合并哪个PR
一旦您合并了这两个PR,您将得到一个以前未构建的新的主提交。这是描述的
如果您想消除在主版本上构建的需要,可以在更新分支名称时立即将构建到期时间设置为
为什么Azure Devops不触发一个构建,或者使用两个构建更安全
据我所知,这是Azure Devops的预期工作流程
由于生成设置
这是最新的
此触发器发生在拉取请求过程中,PR触发器意味着在创建PR时运行
此触发器相当于验证步骤,文件未真正提交到目标分支(预合并到目标分支)
您可以检查生成的结果以确定源分支代码是否有效
例如:
如果拉动请求触发器失败,您可以拒绝拉动请求。它不会影响目标分支,目标分支将保持原始状态
YAML文件中的拉入请求签入
这可能是最重要的
当pull请求完成时,将发生此触发器
在这种情况下,目标分支已更改。目标分支的更改将触发CI触发器。这可以再次检查代码是否有效
工作流程摘要:
创建拉请求->拉请求触发器(预合并和firest检查)->完成拉请求->CI触发器(完成分支合并和第二次检查)
顺便说一句,如果要排除某些文件,以便它们不会触发请求触发器,则可以添加路径筛选器
例如:
好的,那么采用双重构建是正确的方法吗?thanks@alansmith4785对这是正确的方法。一个用于拉动请求检查,另一个用于目标分支检查。Hi@4785。这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒一下。
F
E \
/ | D
C | B
\ | /
A