How Do I Set Up My Project To Work With Chained Builds?
I have read this page about dependent builds but I don't really understand it fully.
http://confluence.jetbrains.net/display/TCD65/Dependent+Build
At the moment I have an ant target that runs a TestNG suite.
This ant target is dependent on the compile target.
In TeamCity I have one build that just runs the compile target so that we get notifications on compile errors and there is a second config that runs the TestNG suite.
The problem is that we are at the start of a project and there are 32 test failures out of 105.
This means that every commit triggers a build failure notification.
Since the devs are always getting build notifications in the IDE they now ignore them, which is why we have a separate compile config so that emails are sent when that one fails.
I thought about creating three separate configs :
- Compile
- Regression tests (or known passes)
- New phase tests (or known failures)
Config 3 would continue to send failure notifications, but if a commit caused a compile error or it broke one of the regression tests we would get email notifications.
Obviously this requires some manual upkeep of the testng suite so that when a new phase is complete it moves into the regression suite, but I am OK with that.
I believe that in this situation, all three configs trigger a compile and they will be competing for a build agent, which is why I am trying to understand the build dependencies.
As I understand it, TeamCity would trigger on 3, which would trigger 2, which would trigger 1 and they would run in order from 1 to 3.
However, what I don't understand is how I configure my ant script.
If those 3 configs are 3 targets then the compile target will run 3 times as ant has its own dependencies.
TeamCity can create artifacts but if I were to use them I don't understand how I would refer to them in the classpath of my ant script.
How do I set up my project to work with chained builds?
Please sign in to leave a comment.