user1456158
user1456158

Reputation: 841

Continuous Integration tools

Im doing research regarding continuous integration tools and there benefits. For my research im looking at the following tools:

  1. GitLab CI
  2. Jenkins
  3. Bamboo
  4. GoCD
  5. TeamCity

Now I wont bother you with all the requirements and benefits. But so far im not finding so many differences between the tools except for these:

  1. Fan-in fan-out support GoCD
  2. Community size, Jenkins and GitLab seem to have most contributors
  3. Costs
  4. Open source or not
  5. Amount of plugins available

I was wondering if some people who have had to choose a continuous integration tool aswell could share there experience and why they chose that tool and if there are certain differences that are worth thinking about before choosing which I didn't cover.

Now im leaning towards GoCD because of fan-in fan-out support and the visualisation of the continuous delivery pipeline does anybody have experience with the support on issues for this tool?

Thanks in regard,

Upvotes: 3

Views: 1494

Answers (2)

grundic
grundic

Reputation: 4921

I have a lot of experience with Teamcity and some with Gocd. If you are interested in fan-in/fan-out it's also possible to do the same in Teamcity -- it's called Build Chains. Also there is a good post about this topic on official blog. If I could choose I would prefer Teamcity. It's more mature and more feature rich product suitable for use in corporate environment.

Upvotes: 1

Ali
Ali

Reputation: 156

Disclaimer: I was an active contributor to GoCD before previous Fall. I haven't used GitLab CI so won't talk about that :) Also, I haven't used any of these tools in the past one year.

I think TeamCity is a good CI tool. It integrates very well with IDE if you want to debug some failures. The test reports are brilliant. But I don't think they are that advanced in CD space and in my opinion you need both. But if you are interested only in CI, you might want to give it a look. However, you will miss on some of the good features of GoCD I've mentioned below.

Jenkins has a huge community but Jenkins has its own disadvantages. Many a times one plugin doesn't work due to another plugin for some compatibility issues for instance.

GoCD has Fan-in/Fan-out support which avoids many unnecessary builds saving a lot of build time and resources. The value stream map is intuitive and helps to get a better picture of the build stage from a developer's, QA's or even Deliver Manager's point of view. The pipeline modeling in GoCD is also very good. If you read Jez Humble and David Farley's book on Continuous Delivery, you will see the power behind such a build design.

Now, to your second question:

Now im leaning towards GoCD because of fan-in fan-out support and the visualisation of the continuous delivery pipeline does anybody have experience with the support on issues for this tool?

Good to hear that :P I love GoCD. The support is good. If you choose to go the Open Source way, the mailing list is pretty active. You can expect a reply from the GoCD team within a day or two. Of course, your questions have to be genuine and specific. Looking through the forums before posting a question helps :)

You can also choose to buy support for GoCD from ThoughtWorks. They used to offer multiple support tiers, not sure of the current support model. You might face issues only when your DB grows too huge (~5-7 GB) when you might want to go for the proprietary Postgres DB support from ThoughtWorks. I've seen very few users of GoCD with that DB size.

Upvotes: 5

Related Questions