Grady Booch (1994) and Kent Beck (1997 at Chrysler) developed the theory of CI (continuous integration), years before there was any CI standard-software.
A team around Matt Frommel developed the first renowned and widely used CI system CruiseControl at ThoughtWorks, published in 2001. CruiseControl was the first CI-tool that supported automatic triggering of builds and supported SVN, as Git wasn’t around at that time.
In 2004, Kohsuke Kawaguchi started Hudson at Sun Microsystems. His objective was to ensure that none of his commits would break the build process of his team. Within a few years, Hudson became the standard for Java developers and won the Duke’s choice Award in 2008.
In October 2006, JetBrains released TeamCity, which quickly became well known for its polished, user-friendly web interface and ease of configuration. TeamCity was designed with a focus on usability similar to IDEs and a sane default configuration. It provided extensive features like build chain management, agent management, and testing framework support out-of-the-box. One of TeamCity’s early “killer features” was the ability to run personal, pre-tested commits (testing code in the build agent before checking it in), which significantly improved developer workflow compared to standard CI setups around that time.
TeamCity addressed the pain points developers had with Hudson (and still have with Jenkins), with its XML-heavy configuration and the plugin-driven approach that was constantly causing problems because of unmaintained plugins and the incompatibility of plugins with one another.
In 2007, Atlassian released Bamboo, which focused early on linking builds with deployment. Bamboo quickly gained a sizable reputation among devs for its functionality, robustness, and its sleek UI.
In the early 2010s, there was a lot of activity in the CI/CD sector.
Timothy Fitz outlined the “first practical CD system”, developed by developers at IMVU, which automatically deployed code all the way to production.
Oracle acquired Sun Microsystems and Hudson with it. Oracle planned on commercializing Hudson, which infuriated the developer community. Still, Oracle declined keeping the open-source character of Hudson and also refused giving up control of the trademark Hudson.
In January 2011, the final break occurred between Oracle and the developer community of Hudson. In a community vote, 214 members voted to leave Oracle and rename the project to Jenkins, while only 14 voted to keep it under Oracle as Hudson. Kawaguchi, the creator of Hudson, started Jenkins as an independent Project. Almost all developers of Hudson left the Hudson project and joined Kawaguchi’s effort. As a result of this, Hudson would soon lose all of its significance.
Also in 2011, ThoughtWorks made the Go Community Edition license-free, which eased its use in many settings.
In 2012, Oracle donated the abandoned Hudson project to the Eclipse Foundation. Hudson never recovered and was declared obsolete by the Eclipse Foundation in 2017. In 2020, the website for Hudson closed down.
In 2014, Thoughtworks renamed Go to GoCD to distinguish it from language Go, which was becoming increasingly popular. ThoughtWorks open-sourced GoCD under the Apache License Version 2.0, and made it available for free.
In November 2019, Thoughtworks announces its plan to fully transfer GoCD to the community, and announces the end of the commercial support for GoCD.
In May 2020, all previously commercial features/plugins are all open-sourced or directly incorporated into GoCD by the GoCD core team. In December 2020, commercial support for GoCD ends, as does Thoughtworks-funded development and maintenance of GoCD. Thoughtworks still provides funding for the website and build infrastructure, but apart from that, the community developing GoCD is on its own now.
Despite its massive drawbacks, Jenkins is dominating the market for self-hosted CI/CD servers. TeamCity established itself as the as a commercial alternative (with a free version), focused on reducing configuration overhead and maintenance. GoCD is still releasing new versions regularly, but the project is struggling. Unfortunately, Bamboo is being phased out, and is replaced by BitBucket Pipelines, a SaaS CI/CD. The end of life for Bamboo Data Center will take place on March 28, 2029.