TeamCity build dependencies

Hello guys,
please advise what is the best way to create such a workflow on TeamCity:

1) We depend on 2 open source projects, that we need to clone and build nightly. It generates a looooot of libraries. So, I have created a Build: Libraries Build that is triggered by schedule somewhere in the night.
2) We have another build configuration that for our Projects (let it be: Project 1) that should be run on top of those open source projects, but it's VCS roots can be updated any time through the day. So build is run few times a day, but uses libraries from ONE build, made at night.

So, now I'm thinking what sort of dependency build to trigger:
1) I don't want to use Artifact dependency. As I said, first build generates a lot of libraries and other stuff and it is not effective to transfer it to another build agent. Moreover it would be very difficult to properly manage those artifacts.
2) As I see Snapshot dependency is also not very convenient for such workflow - we will not be able to run Our Project build with newest sources on top of Dependency Build, right? Because Our Project will take sources only from the night commits, right?

Sorry for such a long text but I think the main idea is clear.

Please advise if such workflow can be configured with some TeamCity options or we just need to run this builds on one build agent without any automatic dependencies?

So, in few words what I am ant is:
Build 2 should run on the same machine, that has successfull Build 1, nevertheless of sources date/last commit.


1 comment
Comment actions Permalink


Yes, you are right snapshot dependency is not suitable in this case.
We would recommend to use artifact dependency. In this case you will be able to run Project on different agents in parallel. Artifacts are cached in the local artifact dependencies cache on the agent, this should speedup artifact dependencies in some cases.
If you do not want to use artifact dependency, you need to configure your builds to run on one agent. To configure it you can setup agent requirements or configure agent pools.


Please sign in to leave a comment.