A full build of our system takes 6 hours. A subsequent incremental build requires only an hour. If TeamCity could use incremental builds our developers would get build reports from our TeamCity server much quicker.
We currently have a single agent and write files from our source control repository in a specific directory. We have a nightly job that rebuilds the world and then during the day we have an incremental build trigger whenever developers submits files to the repository. We make use of the TeamCity changed files file to control which files are processed during the incremental build.
This works fine with one agent.
Now we would like to add more agents. Obviously the nightly "rebuild the world job" would run on a single agent. The subsequent incremental jobs won't necessarily run on the same agent.
If our incremental is doing everything correctly, the resulting distribution kit should be the same as what is created by the full rebuild. But we don't trust the incremental processing 100% and would prefer to start each day with a freshly rebuilt-form-scratch system on all agents.
What's the best way to do this? I'm open to other strategies too.