在完成多个其他构建并且不触发依赖关系链后,如何在teamcity中构建项目? [英] How to build a project in teamcity after multiple other builds have finished and not trigger the dependency chain?

查看:133
本文介绍了在完成多个其他构建并且不触发依赖关系链后,如何在teamcity中构建项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的问题与触发一次后续构建有关在TeamCity中进行多次并行构建后,但是我遇到了一个问题,请在此处发布.

My questions is related to Trigger subsequent build once after multiple parallel builds in TeamCity but I have hit a problem so posting it here.

以下是我的设置.我正在尝试创建一个链,以便当我运行A时,完整的链会运行.

Below is my setup. I am trying to create a chain so that when I run A, the complete chain runs.

A(根项目)-B(取决于A的快照+在A上完成构建触发器)-(取决于B的快照)聚合项目.

A ( Root project) - B ( Snapshot dependent on A + Finish Build trigger on A) -( Snapshot dependent on B) Aggregation project.

A(根项目)-c(取决于A的快照+在A上完成构建触发器)-(取决于C的快照)聚合项目.

A ( Root project) - c ( Snapshot dependent on A + Finish Build trigger on A) - ( Snapshot dependent on C)Aggregation project.

快照依赖项实际上没有做任何事情(没有快照,我在A处使用虚拟构建配置),我必须创建它,因为我想使用%dep将A中的动态值传递给链无法仅通过完成构建"触发器来实现.

The snapshot dependency does not really do anything ( there is no snapshot, I am using a dummy build config at A), I had to create that as I wanted to pass dynamic value from A down the chain using %dep which I was not able to achieve only with Finish Build trigger.

现在,我还需要能够独立触发B(在这种情况下,我不需要聚合,只有在启动根项目A时才需要聚合),这样C不会被触发,反之亦然,而是使用当前设置当我触发B时,A被触发(由于快照相关性,然后触发了聚合,然后C进入了队列,因为聚合也取决于C.)我是Teamcity的新手,所以我做错了一切.感谢您的帮助.

Now, I also need to be able to trigger B independently ( in that case I dont need aggregation, it is only needed when root project A is launched) so that C does not get triggered and vice versa, but with current setup when I trigger B, A gets triggered ( due to snapshot dependency, then Aggregation gets triggered, then C gets in the queue as aggregation is also snapshot dependent on C). I am new to Teamcity so I could be doing it all wrong. Any help is appreciated.

推荐答案

为了实现您的目标,您需要:

In order to achieve your goal, you need to:

  1. 删除完成构建触发器
  2. 确保从B => A和从C => A存在快照依赖
  3. 添加一个对B和C具有快照依赖关系的新版本(D).当您希望A,B和C运行时,将触发该版本

触发C只会导致A和C运行,而触发B只会导致A和B运行.

Triggering C will only cause A and C to run and triggering B will only cause A and B to run.

如果您需要帮助进行配置,请告诉我

If you need help configuring this then let me know

希望这会有所帮助

这篇关于在完成多个其他构建并且不触发依赖关系链后,如何在teamcity中构建项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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