Does anyone have any comments on one vs the other.
We're looking at trying to automate our release process from dev into test into uat into production, including running unit tests, having code reviews and enforcing permissions on who is allowed to push builds from UAT into production.
DISCLAIMER: I am the Product Manager of Bamboo
@Bernard: could you provide some more details around your process?
Bamboo 2.7 is our first release that allows you to divide your Build into different Stages and execute Jobs within Stages in parallel. This can significantly improve the overall turnaround time of your Builds. We are currently working on artifact passing, which will allow you to pass build artifacts between different stages. Again, this will reduce the overall build time and is another important step towards a Continuous Deployment process.
Unfortunately we currently do not have a good "out of the box" way to enforce permissions on certain parts of the build. Again, there are ways to work around this with plugins and by setting up your Build in a certain way. But it's hard to provide suggestions without knowing your process in more details. If you are willing to share the details of your process with us, I would love to speak to you in person (jens at atlassian dot com).
@jgritty: The problems you are pointing out are partially know issues with our Perforce integration and partially seem to be unknown bugs. Please feel free to create a support request on [email protected] or raise a bug report on jira.atlassian.com.
Since Perforce is less commonly used (compared to CVS & SVN) amongst Bamboo users, we generally get less feedback about it and hear less about existing issues. Please raise problems directly with us and we will do our best to fix them in one of our upcoming releases.
Cheers,
Jens Schumacher
I've never heard of Go, but I can tell you that Bamboo has some severe quirks. Depending on your source control system, your mileage may vary.
It takes sort of a least common denominator approach to dealing with all the SCMs it hooks to, so for us using perforce, we lose out on some things we should be getting for free.
Here are a couple of the annoying things that still have not been fixed:
Setup a build agent to use a particular client (must already exist, of course, grr). Now suppose the client is rooted at c:\buildarea. You MUST manually create the c:\buildarea folder otherwise the agent will give you some ridiculous error about not being able to extract the files to the client root. Obviously 'p4 sync -c YOURCLIENT' would do that, but Bamboo does something dumber.
Another thing that it can't do is properly build from an existing label. Let's say you have a cross platform build, and you want to build say linux and windows both from the same exact changelist/label, there is no trivial way to do that in Bamboo. You can fire off the builds at the same time and pray. You can have one sync out the files for the other, but there is no way to build using a label.
One last thing that is a little dumb (but not terrible) is the way it sort of assumes everyone uses CVS in the way that it 'tags' builds. When a build contains a large number of changelists, rather than just call it a changelist and number it once, it lists the "version #" for every file in a changelist. Obviously, not a deal breaker, just a little odd for p4 users.
All in all, none of these issues have killed us, and we use it for several hundred builds per day, and have somewhere in the order of 200 build plans active at any given time. I'm sure I could think of other issues, but many things have been addressed.
@Bernard: I work at ThoughtWorks and have much more experience using Go (Cruise) than Bamboo, so I'll just give you info on now Go addresses your query
Unlike a lot of tools in the market, Go provides visibility into relationships between triggered builds, environment modeling, aggregating results from parallel builds, ease of auto-publishing artifacts, and auto-updating build agents
@jgritty: Go is the successor to Cruise from ThoughtWorks Studios.
I have used Bamboo/TeamCity/Jenkins/etc and reviewed ThoughWorks Go recently against standard CI servers.
I was really interested in seeing if they had cracked the team management and release problem. I personally like TeamCity best but gave Go a shot. I was a little disappointed to be honest, as a pure build server it is no where as advanced as TeamCity/Bamboo. It lacked support for key SCMs and build tools. Also most build server have a lot of support for 3rd Party tools such as FindBugs/PMD/Emma/Clover/etc, Go does not
The one area that is different from other products on the market is the the concept of environments and the ability to move through the different environments. However it was a very primitive version of the concept.
The guys at Thoughtworks are some of the best in the world and have a wealth of experience on development teams and I expect to see more releases of the tool where they really start to address some key problems around software development process
My quick review can be found here
http://diarmuidmoloney.wordpress.com/2011/11/24/thoughtworks-go/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With