Pull changeset only after successful build

I am diving into HG from SVN so it's entirely possible I am approaching this wrong but here is what I envision:

  • Developers push changesets to a "testing" repository
  • TeamCity watches "testing" and runs builds accordingly
  • Only on successful build, TeamCity pulls the good changeset over to a "clean" repository
  • Developers clone / pull from "clean" only

I have been jumping through hoops all weekend trying to do this with a series of .bat files and psexec but I keep running into odd things with the way TeamCity runs command line build steps.  (The latest of which is that TeamCity can't run a .bat file that 'call's other .bat files....  weird)

In any case, I am open to suggestions on the best way to architect this.  It seems that SOMEONE out there has to be doing something like this... or maybe I am must missing the whole point of continuous integration?

(Yes, I know I can run local / personal builds with TeamCity but it doesn't seem necessary with DCVS?)

Thanks in advance for any suggestions,

Matt

Please sign in to leave a comment.