Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adopting Bamboo or TeamCity as native Windows C++ build automation/CI server?

At the moment, we are running our automated (not CI as such) builds via FinalBuilder via a very simple homegrown Apache interface that just launches the FB scripts on our server. (I like FinalBuilder, and will keep it, but it's CI server, FinalBuilder Server just doesn't cut it IMHO -- especially it doesn't support any "agent" concept at the moment to distribute builds across machines.)

We are doing native C++ development on Windows with a bit .NET mixed in where it's needed and makes sense.

Our current FinalBuilder scripts do everything quite well, from creating nightly builds to full releases (build / automated translation / build / unit test / create setup / put created artifacts on a network share / ...), but our webinterface, queuing abilities, user traceability and reporting is pretty limited.

I have looked around and it seems that TeamCity and Bamboo tick similar boxes, but most descriptions I can find cover only Java and/or .NET simple builds.

So my specific question is, given

  • several (20-30) complicated FinalBuilder Scripts that work to my satisfaction and that I will have to integrate into ("call" from) the new automation/"CI" server
  • Native Windows C++ and .NET projects
  • The actual build (= compiler invocation(s)) is done via a few Visual Studio solution files at the moment
  • Currently one build server machine, wishing to scale to 2-3 atm.
  • Using JIRA as issue tracker
  • using AccuRev as SCM

which tool is better suited, and why: TeamCity (currently 6.5) or Bamboo (currently 3.1).

(Note that I also hope to get some highly subjective answers on the TeamCity and Bamboo forums.)

like image 376
Martin Ba Avatar asked May 30 '11 12:05

Martin Ba


1 Answers

For TeamCity side, it integrates with Jira, has AccuRev plugin, and has a good support for VisualStudio/C++ projects. It can also run arbitrary scripts.

You can trigger a build and obtain some build results via HTTP-based API. In the UI, you can see which changes have been built and in which build configurations. Easily integrate any custom HTML reports into TeamCity UI (no coding), publish artifacts.

Probably, you should try both solutions and see which one is more suitable for you (with Teamcity, you can use full-functional server for free, the only limit is number of build agents and number of build configurations).

Disclaimer: I'm a TeamCity developer

like image 192
KIR Avatar answered Oct 29 '22 19:10

KIR