Build Dependencies

Perhaps I am missing something with the artifact dependencies. Our build is rather complex and requires multiple projects to be built on multiple platforms. We would like to be able to basically "click a button" and start the entire build process. This would require multiple separate builds to be started as well as builds running on multiple platforms. I see where I can setup a trigger to start a build -after- another build completes. I actually want to do the opposite. I would like to be able to start a build and have it start multiple other builds as a result by setting them up as some sort of dependency. What is the proper way to do this in TeamCity? Thanks!

Rick Cole
Pitney Bowes Software, Inc.

6 comments

Rick,

Currently there is only one type of build triggering dependencies: a build can be triggered after the one it depend on succeeds. You can try to configure the second-step builds (X, Y, Z) to depend on the single first build (A). This way, when the build A succeeds, builds X, Y and Z will be started. Is this suitable in your case?

As some kind of a workaround, you can use ability to trigger builds by GET HTTP request to the TeamCity (read more at our online documentation: http://www.jetbrains.net/confluence/x/pHI ). This way you can configure the build script of the build A to trigger the needed builds at its end.

If neither are options for you, please describe your use case in more detail so that we can consider it and possibly include in our further development plans.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Thanks for the response. This will not completely solve our use case. We have been using luntbuild, which has a feature that will allow you to create a build configuration that is dependent on other schedules (a scheduled build configuration). This means that when I kick off my build, it will first run the other builds before it starts. The reason we need this is because we have code that must be compiled on multiple platforms. All the artifacts from the separate platforms must be bundled into a single artifact after they are built in order to create our installer. Thanks again.

Rick Cole

0

That's something that would be quite useful for us as well: For some kind of "master build" (several
ones actually, on different branches/configurations) which requires certain artifacts from other
builds of independent projects, but which should trigger the other builds (if there are any pending
changes for them) before it's executed itself.

The current possibility to configure dependencies is hard to maintain (every sub-project needs to
know about its usages) and would cause unnecessary build-noise.

Is there already a feature request to vote for?

Sascha

0

Our builds require something like this as well. A product builds (in its entirety) on multiple platforms, but the collection of builds are referred to using a single build number. To properly handle this, one would need to define an umbrella build configuration with sub-configurations for each platform. The umbrella configuration would propagate its build number and related settings to the sub-configurations.

0

Thinking about it, in our case it could be a new kind of artifact dependency: Currently it
is possible to use "Latest successful build", "Last pinned build", etc. The new one
("Start new build") would start the "Depends on" build itself, wait until it's done and
use the artifacts it produced. In case of an error in the sub-build, the whole build
should fail. This should also work recursively, but should not run any build configuration
more than once.

Also +1 for propagating the build number.

Sascha

0

Yes, this is exactly what I envisioned as well. I have seen this feature on other platforms and is a bit of a hole in the TeamCity (which I think is great) feature set.

Rick Cole

0

Please sign in to leave a comment.