Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Things to consider when writing our own Continuous Integration server?

I work on a large project in an organization that is (slowly) upgrading our development processes to be a bit more modern. We currently are considering moving to a Continuous Integration model; as part of this move, we are considering writing our own Continuous Integration server. We have a very mature (somewhat ossified) build process; we also have a large set of tests that we want to be run as build verification tests.

We have looked into several commercial CI servers, and it appears that the amount of work involved in customizing any of them to our individual needs is relatively high; so high that it may be worth our while to just custom write our own CI server. However, I feel that we may be missing some potential pitfalls of this process. The question of bugs in our implementation has been raised and considered; are there any other major considerations (other than the amount of effort involved in writing a CI system, of course) that we should keep in mind when evaluating our options? From anyone who has implemented a custom CI server, what were the particular troubles? And from anyone who has used a commercial CI system, were there any things that you wish you would have done yourself, or things which you were particularly happy you didn't need to do yourself?

like image 538
Paul Sonier Avatar asked May 20 '09 17:05

Paul Sonier


1 Answers

I would strongly advise against this NIH thinking.

  • Consider modifying an open source CI server like CruiseControl.NET
  • Consider writing custom Nant tasks
  • Consider modifying your project to be more amenable to existing options
  • You don't want to be in the business of continuous integration, you want to just use it and see the benefits
like image 164
Matt Hinze Avatar answered Oct 07 '22 12:10

Matt Hinze