Jump to content

Comparison of continuous integration software

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Jfdev.de (talk | contribs) at 14:19, 9 February 2018 (Add Gitea as CI). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

This is a compendium of continuous integration software which support a software engineering practice, continuous integration,[1] in which developer's changes are immediately tested and reported when they are added to the mainline code base. The comparison of various continuous integration tools is done on the basis of platform, license, builders and Integration IDEs.

These software aid in enabling continuous delivery and increase a developer's productivity by giving in-time feedback. This ultimately leads to an improved code quality thus improving the overall software quality.

Comparison

The following table compares the features of some of the most popular continuous integration software; it is not comprehensive with regard to listing all of the popular CI Software. Comparison is done on the basis of Platform, Computing Platform, License, Builders and the Integration tools and IDEs supported

Name Platform License Builders: Windows Builders: Java Builders: other Notification Integration, IDEs Integration, other
AnthillPro Cross-platform Proprietary MSBuild, NAnt, Visual Studio Ant, Maven 1-2-3 Shell script, batch script, cross-platform command-line, Groovy, Make, RTC Jazz, TFS Build, Custom Script Interpreter Email, XMPP, RSS, Systray Eclipse, Visual Studio Many
Apache Continuum JDK, web container Apache 2.0 Un­known Maven 1-2-3 Shell script[2] Mail, XMPP and Google Talk, MSN, IRC, report deployment with wagon Un­known Un­known
Apache Gump Python Apache 2.0 Un­known Ant, Maven 1 Un­known Email Un­known Un­known
AppVeyor Hosted Proprietary Visual Studio, MSBuild, Psake No Custom Script, PowerShell Email, HipChat, Slack, Catlight No GitHub, Bitbucket, Kiln, Windows Azure
Bamboo Web container Proprietary MSBuild,[3] NAnt,[4] Visual Studio[5] Ant,[6] Maven 1-2-3[7] Custom script, command-line tool, Bash, Xcode,[8] Phing,[9] Grunt, Grails[10] XMPP, Google Talk, Email, RSS, Remote API, HipChat IntelliJ IDEA, Eclipse, Visual Studio FishEye, Jira, Clover, Bitbucket, GitHub
Buddy Cross-platform Proprietary No Ant, Maven, Gradle Elixir, Go, Haskell, Node.js, PHP, Python, Ruby, .NET Core Desktop, Email, Slack, SMS No Amazon Web Services, Bitbucket, GitHub, GitLab, Google Cloud Services, Heroku, Modulus
BuildBot Python GPL Command-line Command-line Command-line Email, Web, GUI, IRC Un­known Un­known
BuildMaster Cross-platform Proprietary Yes Yes Cross-platform command-line Email, custom No Many
CABIE LAMP GPL2 Un­known Un­known Un­known Web Un­known Un­known
CircleCI Hosted Proprietary No Maven, Gradle[11] Yes[12] Email, Web[13] No GitHub, Bitbucket, Heroku
CruiseControl Cross-platform BSD-style NAnt, Rake, Xcode Phing, Apache Ant, Maven catch-all 'exec' Email, CCTray Eclipse Un­known
CruiseControl.NET Cross-platform BSD-style MSBuild, NAnt, Visual Studio Un­known Command-line Email, CCTray, RSS Un­known Un­known
GoCD Cross-platform Apache 2.0 Command-line Command-line Command-line Email, hipchat, Slack, Gerrit, Gitter, Riemann etc No GitHub
Jenkins-Hudson Web container Creative Commons and MIT MSBuild, NAnt, Batch Script Ant, Maven 2, Kundo Cmake, Gant, Gradle, Grails, Phing, Rake, Ruby, SCons, Python, shell script, command-line Android, Email, Google Calendar, IRC, XMPP, RSS, Twitter, Slack, Catlight, CCMenu, CCTray Eclipse, IntelliJ IDEA, NetBeans Bugzilla, Google Code, Jira, Bitbucket, Redmine, FindBugs, Checkstyle, PMD and Mantis, Trac, HP ALM
OpenMake Software Meister Cross-platform Proprietary MSBuild, NAnt, Visual Studio Ant, Maven 1-2-3 Shell script, batch script, cross-platform command-line, Groovy, Make, RTC Jazz, TFS Build, Custom Script Interpreter Email, XMPP, RSS, Systray Eclipse, Visual Studio Bugzilla, Google Code, Jira, Bitbucket, Redmine, FindBugs, Checkstyle, PMD and Mantis, Trac
Semaphore (software) Hosted Proprietary No Maven, Gradle Ruby, Java, Python, Node.js, PHP, Clojure, C/C++, Elixir, Erlang, Go, Rake, command-line Email, Campfire, HipChat, Slack, Flowdock, Webhooks, Remote API Un­known GitHub, Bitbucket, Heroku, AWS, Code Climate, Cloud 66
Travis CI Hosted MIT No Ant, Maven, Gradle[14] C, C++, Clojure, Elixir, Erlang, Go, Groovy, Haskell, Java, Node.js, Perl, PHP, Python, Ruby, Rust, Scala, Smalltalk Email, Campfire, HipChat, IRC, Slack, Catlight, CCMenu, CCTray No GitHub, Heroku
TeamCity Web container Proprietary MSBuild, NAnt, Visual Studio, ReSharper-based .NET code analysis Ant, Maven 2-3, Gradle, IntelliJ IDEA-based build and code analysis command-line, PowerShell,[15] Xcode,[16] Rake, FxCop Email, XMPP, RSS, IDE, SysTray, Catlight Eclipse, Visual Studio, IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm JetBrains YouTrack, Jira, Bugzilla, FishEye, FindBugs, PMD, dotCover, NCover
Team Foundation Server, Visual Studio Team Services (VSTS) Cross-platform Proprietary, MIT MSBuild, Visual Studio Ant, Maven, Gradle, Android C, C++, Go, Groovy, Java, Node.js, Perl, PHP, Python, Ruby Email, SOAP, Catlight Visual Studio, Eclipse, IntelliJ IDEA, Android Studio, Visual Studio Code GitHub, Jenkins, Slack, Hipchat, FindBugs, Checkstyle, PMD
Vexor Hosted Proprietary No Un­known Ruby, Clojure, Scala, Python, Node.js, Go, Rust, Haskell Email, HipChat, Slack Un­known GitHub, Bitbucket, Gitlab
Abstruse CI Cross-Platform, Self-Hosted Proprietary, MIT No Ant, Maven, Gradle, Android C, C++, Go, Groovy, Java, Node.js, Perl, PHP, Python, Ruby No No GitHub, Bitbucket, Gitlab, Gogs
Drone Cross-platform Apache 2.0 No Ant, Maven, Gradle[17] Docker[18], Java, Node.js, Python, Go, Elixir, Scala[19] WeChat, Matrix, Discord, Email, GTalk, Telegram, Facebook, Line, Gitter, HipChat, Slack[20] No GitHub[21], Bitbucket, Gitlab, Gitea, Gogs, Coding

SCM system support

The following table compares the features of some of the most popular Continuous Integration software on the basis of the Source Control Management or the Version Control Management which is an essential part of CI Software system. Some of the popular SCMs are given and if they are supported or not by the CI is what is mentioned in the table.

Name AccuRev BitKeeper CA Harvest ClearCase CVS Darcs Git GNU Bazaar Integrity Mercurial Perforce Plastic PVCS StarTeam Subversion Surround Synergy Team Concert Team Foundation Server Vault Visual SourceSafe
AnthillPro Yes No Yes Yes Yes No Yes No Yes Yes Yes No Yes Yes Yes No Yes Yes Yes Yes Yes
Apache Continuum No No No Yes[2] Yes[2] No Yes[2] Yes[2] No Yes[2] Yes[2] No No Yes[2] Yes[2] No Yes[2] No No No Yes[2]
Apache Gump No No No No Yes No No No No No No No No No Yes No No No No No No
AppVeyor No No No No No No Yes No No Yes No No No No Yes[22] No No No No No No
Bamboo Yes[23] No No Yes Yes No Yes No No Yes Yes No No No Yes No No No Yes[24] No No
Buddy No No No No No No Yes No No No No No No No No No No No No No No
BuildBot No No No No Yes Yes Yes Yes No Yes Yes No No No Yes No No No No No No
BuildMaster Yes No No Yes Yes No Yes No Yes Yes Yes Yes Yes No Yes Yes No No Yes Yes Yes
CABIE No No No No Yes No No No No No Yes No No No Yes No No No No No No
CruiseControl No No No Yes Yes Yes Yes No Yes Yes Yes No No Yes Yes Yes No No Yes No Yes
CruiseControl.NET Yes Yes No Yes Yes No Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes
Distelli No No No No No No Yes No No Yes No No No No No No No No No No No
Jenkins-Hudson Yes Yes Yes Yes Yes Yes[25] Yes Yes Yes[26] Yes Yes Yes[27] Yes Yes Yes Yes[28] Yes[29] Yes[30] Yes Yes[31] Yes
OpenMake Software Meister Yes No Yes Yes Yes No Yes No Yes No Yes No Yes Yes Yes No Yes Yes Yes Yes Yes
Semaphore (software) No No No No No No Yes No No No No No No No No No No No No No No
TeamCity Yes No No Yes Yes No Yes Yes[32] No Yes Yes No No Yes Yes No No No Yes Yes Yes
Team Foundation Server No No No No No No Yes No No No No No No No Yes No No No Yes No No
Vexor No No No No No No Yes No No No No No No No No No No No No No No
Drone No No No No No No Yes[33] No No No No No No No No No No No No No No

References

  1. ^ Integration, Continuous (2007). Continuous Integration: Improving Software Quality and Reducing Risk. Pearson Education. ISBN 9780321630148.
  2. ^ a b c d e f g h i j k "Continuum Features". Continuum. Apache Software Foundation. 2013-09-23. Retrieved 2014-03-03.
  3. ^ "MSBuild".
  4. ^ "NAnt".
  5. ^ "Visual Studio".
  6. ^ "Ant".
  7. ^ "Maven".
  8. ^ "Xcode".
  9. ^ "Phing".
  10. ^ "Grails".
  11. ^ "Language Guide: Java".
  12. ^ "Language Support and Demo Applications With Guides". Retrieved December 8, 2017.
  13. ^ "Enabling Web and Email Notifications". Retrieved December 8, 2017.
  14. ^ "Building a Java project in Travis CI".
  15. ^ "Configuring PowerShell build in TeamCity".
  16. ^ "Configuring Xcode build in TeamCity".
  17. ^ "drone-with-java: An example of how to test Java code". Drone Demos. 7 January 2018. Retrieved 9 February 2018.
  18. ^ "Documentation: Pipelines". docs.drone.io.
  19. ^ "Drone Demos". GitHub. Retrieved 2018-02-09.
  20. ^ "Notifications". plugins.drone.io. Retrieved 2018-02-09.
  21. ^ "GitHub". docs.drone.io. Retrieved 2018-02-09.
  22. ^ http://www.appveyor.com/docs/installed-software#version-control-systems
  23. ^ "AccuRev Repository Plugin".
  24. ^ "TFS Repository".
  25. ^ https://wiki.jenkins-ci.org/display/JENKINS/Darcs+Plugin
  26. ^ https://wiki.jenkins-ci.org/display/JENKINS/PTC+Integrity+Plugin
  27. ^ https://wiki.jenkins-ci.org/display/JENKINS/PlasticSCM+Plugin
  28. ^ https://wiki.jenkins-ci.org/display/JENKINS/Surround+SCM+Plugin
  29. ^ https://wiki.jenkins-ci.org/display/JENKINS/Synergy+Plugin
  30. ^ https://wiki.jenkins-ci.org/display/JENKINS/Team+Concert+Plugin
  31. ^ https://wiki.jenkins-ci.org/display/JENKINS/Vault+Plugin
  32. ^ https://plugins.jetbrains.com/plugin/8886-bazaar
  33. ^ "drone-git: Drone plugin for cloning Git repositories". drone-plugins. 3 February 2018.

Further reading