什么是快照的依赖,并最终构建触发器TeamCity的区别? [英] What is the difference between snapshot dependency and finished build trigger in TeamCity?

查看:572
本文介绍了什么是快照的依赖,并最终构建触发器TeamCity的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我看来,该快照依赖的功能完全取代,在TeamCity的完成构建触发。谁能解释这些方法多的效果,如果他们产生不同的行为链?举个例子,如果我有A-> B的生成链

It appears to me that the function of snapshot dependency completely supersedes that of finished build trigger in TeamCity. Can anyone explain more the effect of these methods if they result in different chain behaviour? As an example, if I had a build chain of A->B

请问链实际上这三种设置之间的行为有什么不同?

Does the chain actually behave any differently between these three setups?


  • 设置1:在B A的单个完成构建触发

  • 设置2:B. A的单个快照依赖

  • 设置3:A的两个成品构建触发和B中定义的快照依赖

据我了解,我们可以种治疗快照依赖和代理所有dependees的操作,同时成品构建触发的工作原理是或操作dependees之中。但在顺序链的情况下,有什么区别呢?

I understand that one can kind of treat Snapshot Dependency as "AND" operation of all the dependees, while Finished Build Trigger works like "OR" operation amongst the dependees. But in the context of a sequential chain, is there any difference?

谢谢,
斯科特

Thanks, Scott

推荐答案

一个快照依赖和成品构建触发有很大的不同。一个是基本上是一个推的操作,而另一种是拉操作,分别

A "Snapshot Dependency" and "Finished Build" trigger are very different. one is basically a "push" operation while the other is a "pull" operation, respectively.

设置1:
如果我有建CONFIGS的 A 其中的对的 A ,然后在已完成构建触发相反的行为是真实的。触发的将不会对影响的 A ,但引发的 A 将有效触发的一旦完成。

Setup 1: If I have build configs A and B where B has a "Finished Build" trigger on A, then the opposite behavior is true. Triggering B will have no affect on A, but triggering A will effectively trigger B once it has finished.

设置2:
如果我有相同的设置,而是对的 A ,然后每当被触发, A 将首先运行,或者至少检查,看看是否需要运行,运行的之前。如果只的 A 被触发,然后点击不会被触发。

Setup 2: If I have the exact same setup but instead B has a snapshot dependency on A, then whenever B is triggered, A will run first, or at least check to see if it needs to run, before running B. IF only A is triggered, then B will not be triggered.

设置3:
设置3是略有不同,因为它不只是依赖于完成构建触发或快照依赖。这还取决于初始触发(VCS,计划,或其他)。例如,如果你有一个VCS触发的 A 有两个完成构建触发器和快照依赖的 A ,那么你得到有效设置1.行为的 A 将获得触发VCS的变化和将被触发后的 A (使用相同的快照)。事实上,如果没有快照设置,它不能保证的将使用相同​​的快照的 A ,这可能是也可能不是你想要的。

Setup 3: Setup 3 is slightly different because it doesn't JUST depend on the "Finished Build" trigger or the snapshot dependency. it ALSO depends on the initial trigger (VCS, scheduled, or whatever). for example, if you have a VCS trigger on A, and B has both the "Finished Build" trigger and "snapshot dependency" on A, then you effectively get the behavior of Setup 1. A will get triggered on VCS changes and B will be triggered AFTER A (using the same snapshot). In fact, without the snapshot setup, it is not guaranteed that B will use the same snapshot as A, which may or may not be what you want.

因此​​,在一般情况下,当你想左到右的触发过程中,同时使用完毕构建触发器和快照的依赖,保证构建抵押品的神圣。

So in general, when you want a "left-to-right" trigger process, you use BOTH finished build triggers and snapshot dependencies to guarantee the sanctity of the build collateral.

如果,在另一方面,你有你的初始触发(VCS或计划或其他)设置的,然后有未完成版本触发是有点作废,因为将始终首先触发(但不运行),然后它会触发其所有相关性并自动运行他们完成了。

If, on the other hand, you have your initial trigger (VCS or scheduled or whatever) setup on B, then having the "finished build" trigger is somewhat nullified, because B will always be triggered first (but not run), and then it will trigger all of its dependencies and automatically run after they finish.

希望帮助。谢谢!

这篇关于什么是快照的依赖,并最终构建触发器TeamCity的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆