Site | CI system | Build system | VCS | Trigger | Notification | Pricing | Deployment | Comment |
---|---|---|---|---|---|---|---|---|
Travis CI | Travis | Maven, Ant, and others | git (github only) | github: Travis hook | free for OS | no | still alpha | |
CloudBees, FOSS free | Jenkins | Maven | git, SVN, and others | github: Jenkins hook | ? | free for OS | ? | |
FaZend | Hudson | Maven, Ant, and others | SVN | ? | free | ? | still beta | |
CodeBetter | TeamCity | Maven | git, SVN, and others | github: TeamCity hook | email, Jabber, and others | free for OS | ? | |
Shining Panda | Jenkins | Maven | git, SVN, and others | github: Jenkins hook | €0.36 / hour | ? | Focused on Python | |
Jenkins Hosting (Bubbleware Technology) | Jenkins | ? | git, SVN | ? | ? | free for OS (+ Amazon EC2 fees) | ? | |
continuous.io/ | ? | ? | ? | ? | ? | free for OS (+ Amazon EC2 fees) | ? |
- Trigger: This means how the build is triggered. This is of course not a feature of the CI system itself, but of the source code repository. Github or Bitbucket provide some hooks, unfortunately, EclipseLabs (GoogleCode) doesn't, or does it?
- Notification: This means how the system does notify the user of the build result. After a successful build, one probably want to somehow deploy the created artifacts.
- Deployment: Actually, I'm looking for a solution of copying the artifacts, which actually are a P2 repository, to some download or update site. Of course, this could be achieved by Maven plugins or Ant tasks, however, the crucial point is how to pass some credentials (user name, pass word) to the build system. Especially if you are building an open source project, you do not want to write this information into the maven script. Seems as if this is a common problem. If this problem were solved by Travis, it would be the best solution, at least for github projects.
Actually, it is very hard to determine the features of the different solutions. Many projects seem to be in a very early stage, and some projects announced are already gone (e.g., Mike CI). Most projects are cloud based, some use Amazon EC2 and users need their own Amazon EC2 account. For open source projects, it is often required to fill out some request form, and I don't know whether all projects are accepted.
Leave me a comment if you have any experience with a solution listed above, or if you know of other hosted CI systems.